Apparatuses consistent with embodiments relate to System on a Chip (SOC) circuits, and more particularly to D flip-flops with low clock dissipation power.
D flip-flops are a basic unit of a sequential or storage standard cell circuit. Due to their size, the D flip-flops can be one of the influential elements in terms of System on a Chip (SoC) area, power and performance. For example, all forms of sequential cells can be derived from the D flip-flop. Sequential cells can occupy a significant part of total standard cell area in a SoC. A sequential cell including a clock network may contribute to about half of total power consumed by the SoC. Any cell level impact in the sequential cell can directly impact power consumption of the SoC.
The components of a D flip-flop circuit can include technologies such as a Fin Field-Effect Transistor (FINFET) (14 nm, 10 nm, 8 nm, and so on), which have a high dynamic power dissipation and a delay due to a high gate capacitance. In a FINFET, SoC dynamic power can be more than ten to hundred times than that of leakage power. If the size of the sequential cell is reduced for minimizing dynamic power consumption, then the delay of the sequential cell may increase. This can minimize efficiency of the sequential cell.
The D flip-flop circuit has a master-slave topology, which allows the value of D to propagate through a master block 102 and a slave block 103, within a rising and a falling transition of the clock signal. The master block 102 allows the value of D to propagate to the input of the slave block when the clock signal is reset. Similarly, the slave block 103 allows the value of D at its input to propagate to Q (output of the D flip-flop circuit) when the clock signal is set. The master block 102 and the slave block 103 can retain the values at the input through feedback channels in the respective blocks.
Consider that the value of D is ‘1’ and the clock signal is reset, the NCLK will be set and the DCLK will be reset. At the input of the master block 102, the MOSFET stack P1, P2, N1, N2 is active and would pass on the value of D inside the master latch. The value of D can be propagated to the inverter (MOSFET pair P21 and N21), having a polarity, which is inverted to that of D. The polarity of the output of the inverter will be same as that of D. The slave block 103 will be off as the MOSFET pair P7 and N7 will be off. The feedback unit (MOSFET pair P9 and N10) in the master block 102 will be off. The value of D will be retained through the feedback unit when the clock signal is set.
When the clock signal is set, the NCLK will be reset and the DCLK will be set. At the input of the slave block 103, the MOSFET stack P6, P7, N7, N8 is active and will allow the latched in value of D (by the master) to be propagated into the slave. The value of D can be propagated to the inverter (MOSFET pair P14 and N14), having a polarity, which is inverted to that of D. The polarity of the output of the inverter will be same as that of D. The value of D is therefore passed to Q (output of the D flip-flop circuit). The master block 102 will be off as the MOSFET pair P2 and N1 will be off. The feedback unit (MOSFET pair P18 and N19) in the slave block 103 will be off and the value of D is passed to Q (output of the D flip-flop circuit). When the clock signal is reset, the value of Q will be retained through the feedback unit.
The power consumption of the D flip-flop circuit can be high due to generating the NCLK and DCLK signals using two explicit CLK inverters, MOSFET pair P15 and N15, and MOSFET pair P16 and N16 (buffer block 101). The gate loading can be high for clock signals. There can be issues of robustness due to dependency of two clock phase signals, the NCLK and the DCLK.
According to embodiments, a D flip-flop includes a master block configured to latch an input value of D at one of rising edge and a falling edge of a clock signal, based on the clock signal, the input value of D, and an inverted value of D, and a slave block configured to propagate the input value of D at another one of the falling edge and the rising edge of the clock signal, based on the clock signal.
According to embodiments, a D flip-flop includes a master block configured to latch an input value of D at one of a rising edge and a falling edge of a clock signal, based on an inverted version of the clock signal, the input value of D, and an inverted value of D, and a slave block configured to propagate the input value of D at another one of the falling edge and the rising edge of the clock signal, based on the clock signal and the inverted version of the clock signal.
According to embodiments, a D flip-flop includes a master block configured to latch an input value of D at another one of a rising edge and a falling edge of a clock signal, based on an inverted version of the clock signal, the input value of D, and an inverted value of D, and a slave block configured to propagate the input value of D at another one of the falling edge and the rising edge of the clock signal, based on the inverted version of the clock signal.
Embodiments provide D flip-flops with a low clock dissipation power.
Embodiments also provide D flip-flops with a low voltage operability at an optimal area for usage in high performance standard cell libraries.
Embodiments further provide D flip-flops that are robust against problems such as data retention, data contention, write-back, internal-hold failure, and so on.
As depicted in
In an example, consider that the value of D is ‘0’ (reset) and the CK signal is reset (0). The value of DN will be ‘1’ by the operation of the inverter 303 (P1 and N1). At the input of the master block 301, P2 and P3 will be on while N2 and N3 will be off. As such, the voltage at node n2 will be pulled to voltage VDD (a first voltage source). The value at node n2 will be ‘1’. As DN is ‘1’ and CK is ‘0’, P7 and N5 will be off and N6 and P6 will be on. As the state of node n2 is fed as input to N7, the N7 will be on. Therefore, the voltage at node n1 will be pulled to voltage VSS. The value at node n1 will be ‘0’, and N4 will be off. The master block 301 retains or latches the value of D as long as the CK signal is reset. In the figures herein, ‘P’ may refer to a P-channel Metal Oxide Semiconductor (PMOS) transistor, and ‘N’ may refer to an N-channel Metal Oxide Semiconductor (NMOS) transistor.
When the CK is set, the slave block 302 can propagate the value of D to Q (output of the first D flip-flop circuit 300). As values of the CK signal and the n2 are ‘1’; P9, P10 and P13 will be off, and N8, N9 and N12 will be on. As such, the voltage at node X will be pulled to voltage VSS. The value at node X will be ‘0’. As the values of node X and at node n1 are ‘0’; P11 and P12 will be on, and N13 will be off. As such, the voltage at node Y will be pulled to voltage VDD. The value at node Y will be ‘1’, and P8 will be off. The value at node Y can be fed to an inverter (P14 and N14), and the output of the inverter (Q) will be ‘0’. Thus, the value of D is propagated to the output of the slave block 302 at the rising edge of the CK signal.
The master block 301 includes transistors P4 and P5, and the slave block 302 includes transistors N10 and N11, which increase stability of the respective blocks. If there is a skew or process variation at the input of the master block 301 and the slave block 302, the transistors can ensure that the voltages at nodes n1 and n2 are of opposite polarity and the voltages at nodes X and Y are of opposite polarity.
The power consumption of the first D flip-flop circuit 300 can be significantly reduced by regulating the clock related operations of the first D flip-flop circuit 300, exclusively with the CK signal. The need for generating the NCLK and DCLK signals using a clock buffer is done away with. The gate loading can be high for clock signals. There may not be clock power dissipation at the same data cycle due to absence of clock buffer in the first D flip-flop circuit 300. The first D flip-flop circuit 300 can be robust due to absence of dependence on both phases of the CK signal. The first D flip-flop circuit 300 can operate at sub-threshold voltages.
As depicted in
In an example, consider that the value of D is ‘0’ (reset) and the CK signal is reset (0). The value of nD will be ‘1’ by the operation of the inverter 403 (P1 and N1). The value of the NCLK will be ‘1’ by the operation of the inverter 404 (P2 and N2). At the input of the master block 401, P3, P4 and N4 will be on, while N3 and P5 will be off. As such, the voltage at node n2 will be pulled to voltage VDD. The value at node n2 will be ‘1’. As nD and NCLK are ‘1’, P7 and P8 will be off. As the value at node n2 is ‘1’, P6 will also be off. As nD and NCLK are ‘1’, N7 and N8 will be on. Therefore, the voltage at node n1 will be pulled to voltage VSS. The value at node n1 will be ‘0’. The master block 401 retains the value of D as long as the CK signal is reset.
When the CK is set (1), the slave block 402 can propagate the value of D to Q (output of the second D flip-flop circuit 400). As value of the CK signal is ‘1’, and NCLK and the value at node n1 are ‘0’; N9 will be off, and P9, P10 and N10 will be on. As such, the voltage at node n8 will be pulled to voltage VDD. The value at node n8 will be ‘1’. The value at node n8 can be fed to an inverter (P14 and N14), and the output of the inverter (Q) will be ‘0’. The feedback unit (MOSFET pair P11 and N11) in the slave block 402 will be off and the value of D is passed to Q (output of the D flip-flop circuit). Thus, the value of D is propagated to the output of the slave block 402 at the rising edge of the CK signal.
The master block 401 includes transistors N5 and N6, which increase stability of the master block 401. If there is a skew or process variation at the input of the master block 401 the transistors N5 and N6 can ensure that the voltages at nodes n1 and n2 are of opposite polarity.
The power consumption of the second D flip-flop circuit 400 can be significantly reduced by regulating the clock related operations, of the second D flip-flop circuit 400, using the CK and the NCLK signal. The second D flip-flop circuit 400 does not include a clock buffer, which is the primary contributor of clock power and SoC power. The gate loading can be low for clock signals. The propagation delay of the second D flip-flop circuit 400 can be lower. There may not be clock power dissipation at the same data cycle due to absence of clock buffer in the second D flip-flop circuit 400. The second D flip-flop circuit 400 can be robust due to absence of dependence on both phases of the CK signal. The second D flip-flop circuit 400 can operate at sub-threshold voltages.
As depicted in
In an example, consider that the value of D is ‘0’ (reset) and the CK signal is reset (0). The value of DN will be ‘1’ by the operation of the inverter 503 (P1 and N1). The value of the NCK will be ‘1’ by the operation of the inverter 504 (P2 and N2). At the input of the master block 501, N4, N5 and P5 will be on, while P4 and N3 will be off. As such, the voltage at node X will be pulled to voltage VSS. The value at node X will be ‘0’. As DN and NCK are ‘1’, P7 and P8 will be off. As the value at node X is ‘0’, P3 will also be on. As P5 will be on, the voltage at node Y will be pulled to voltage VDD. The value at node Y will be ‘1’. The master block 501 retains the value of D as long as the CK signal is reset.
When the CK is set (1), the slave block 502 can propagate the value of D to Q (output of the third D flip-flop circuit 500). As value of the CK signal is ‘1’, NCK is ‘0’, the value at node X is ‘0’ and the value at node Y is ‘1’; P9 will be off, and P10, P11 and P12 will be on. As such, the voltage at node n3 will be pulled to voltage VDD. The value at node n3 will be ‘1’. As the values at node Y and at node n3 are ‘1’ and NCK and the value at node X are ‘0’, N6 and N8 will be on, and P9 will be off. As such, the voltage at node n4 will be pulled to voltage VSS. The value at node n4 will be ‘0’, and N11 will be off. The value at node n3 can be fed to an inverter (P13 and N12), and the output of the inverter (Q) will be ‘0’. Thus, the value of D is propagated to the output of the slave block 502 at the rising edge of the CK signal.
The master block 501 includes transistors P14 and N13, which increase stability of the master block 501. As such the voltages at nodes X and Y are of opposite polarity. The slave block 502 includes transistors P15 and N14, which increase stability of the slave block 502. As such the voltages at nodes n3 and n4 are of opposite polarity. If there is a skew or process variation at the inputs of the master block 501 and the slave block 502, the transistors can ensure that the voltages at nodes X and Y are of opposite polarity and the voltages at nodes n3 and n4 are of opposite polarity.
The power consumption of the third D flip-flop circuit 500 can be significantly reduced by regulating the clock related operations of the third D flip-flop circuit 500, using the CK and the NCK signal. The third D flip-flop circuit 500 does not include a clock buffer, which is the primary contributor of clock power and SoC power. The gate loading can be low for clock signals. There may not be clock power dissipation at the same data cycle due to absence of clock buffer in the third D flip-flop circuit 500. The third D flip-flop circuit 500 can be robust due to absence of dependence on both phases of the CK signal. The third D flip-flop circuit 500 can operate at sub-threshold voltages.
The D flip-flop circuits can operate in a single phase of the clock signal. This increases the robustness of the D flip-flop circuits. The lack of necessity of generating two phases of the clock signal can minimize power consumption of the D flip-flop circuits. The D flip-flop circuits can be sensitive to low voltages, such as sub-threshold voltages. The robustness of the D flip-flop circuits can be inferred from the following table.
Table 1 depicts number of instances in which inputs at the master block and/or the slave block of the respective D flip-flop circuits have been misinterpreted, when drain voltage VDD (of the transistors in the respective D flip-flop circuits) is in the sub-threshold range (0.4V-0.6V). The misinterpretation (‘0’ for ‘1’ or ‘1’ for ‘0’) can likely lead to the inability of the D flip-flop circuit to propagate the value of D from input of the D flip flop circuit to the output of the D flip flop circuit. Minimum misinterpretations (ideally 0) indicate efficient robustness criteria. Each of the D flip-flop circuits, i.e., existing D flip flop circuit, the first D flip-flop circuit 300 and the second D flip-flop circuit 400), can be tested or evaluated at three process corners, e.g., Fast-Slow (FS), Slow-Fast (SF) and Typical-Typical (TT), which refer to NMOS and PMOS strength in silicon.
As depicted in table 1, for a drain voltage of 0.5V, the number of misinterpretations of the existing D flip flop circuit is equal to that of the first D flip-flop circuit 300 and the second D flip-flop circuit 400. When the drain voltage is dropped below that 0.5V, the likelihood of increase in the number of misinterpretations start to increase in the existing D flip flop circuit, in comparison with the first D flip-flop circuit 300 and the second D flip-flop circuit 400. The effect is compounded when the drain voltage is further lowered to 0.4V.
Single-clock phase operability of the D flip-flop circuits allows minimizing the size of the clock inverter, which in turn allows minimizing input capacitance of clock pin (CLK), and SoC level latency and power. The D flip-flop circuits can have a balanced rise and fall delay.
Table 2 depicts a performance comparison between first, second and third D flip-flop circuits, as depicted in
The usage of cross coupled poly pattern can be prevented in the D flip-flop circuits. This can be an advantage as the cross coupled poly pattern (SIC-XC) can have a higher manufacturing cost and more can be prone to process variations. The design used in the D flip-flop circuits can be extended to other sequential cells. The D flip-flop circuits can be designed using FINFET or deep submicron technologies.
The embodiments disclosed herein can be implemented through at least one software program running on at least one hardware device and performing network management functions to control the network elements. The network elements shown in
The embodiments disclosed herein describe D flip-flops with low clock dissipation power. Therefore, it is understood that the scope of the protection is extended to such a program and in addition to a computer readable storage medium having a message therein, such a computer readable storage medium containing program code for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The method is implemented through or together with a software program written in e.g., Very high speed integrated circuit Hardware Description Language (VHDL) or another programming language, or implemented by one or more VHDL or several software modules being executed on at least one hardware device. The hardware device can be any kind of portable device that can be programmed. The device may also include, e.g., hardware like an Application-Specific Integrated Circuit (ASIC), or a combination of hardware and software like an ASIC and a Field-Programmable Gate Array (FPGA), or at least one microprocessor and at least one memory with software modules located therein. The method embodiments described herein could be implemented partly in hardware and partly in software. Alternatively, the embodiments may be implemented on different hardware devices, e.g., using a plurality of central processing units (CPUs).
As is traditional in the field of the inventive concepts, example embodiments are described, and illustrated in the drawings, in terms of functional blocks, units and/or modules. Those skilled in the art will appreciate that these blocks, units and/or modules are physically implemented by electronic (or optical) circuits such as logic circuits, discrete components, microprocessors, hard-wired circuits, memory elements, wiring connections, and the like, which may be formed using semiconductor-based fabrication techniques or other manufacturing technologies. In the case of the blocks, units and/or modules being implemented by microprocessors or similar, they may be programmed using software (e.g., microcode) to perform various functions discussed herein and may optionally be driven by firmware and/or software. Alternatively, each block, unit and/or module may be implemented by dedicated hardware, or as a combination of dedicated hardware to perform some functions and a processor (e.g., one or more programmed microprocessors and associated circuitry) to perform other functions. Also, each block, unit and/or module of the example embodiments may be physically separated into two or more interacting and discrete blocks, units and/or modules without departing from the scope of the inventive concepts. Further, the blocks, units and/or modules of the example embodiments may be physically combined into more complex blocks, units and/or modules without departing from the scope of the inventive concepts.
The foregoing description of the embodiments will so fully reveal the nature of the embodiments herein that others can, by applying current knowledge, readily modify and/or adapt for various applications of such embodiments, and, therefore, such adaptations and modifications may be and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, while the embodiments herein have been described in terms of examples, those skilled in the art will recognize that the embodiments herein can be practiced with modification within the spirit and scope of the embodiments as described herein.
Number | Date | Country | Kind |
---|---|---|---|
201841029006 | Aug 2018 | IN | national |