This invention relates to the field of electronic circuits. In particular, the present invention relates to triple latch flip flop systems and methods.
Electronic systems and circuits have made a significant contribution towards the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Numerous electronic technologies such as digital computers, calculators, audio devices, video equipment, and telephone systems facilitate increased productivity and cost reductions in analyzing and communicating data, ideas and trends in most areas of business, science, education and entertainment. A number of components such as latches are often utilized to facilitate realization of many of these advantageous results. Latches are typically used to facilitate orderly data flow in electronic circuits. However, using traditional flip flop latches often involve tradeoffs that can amount to significant impacts given the prolific use of numerous latches in many applications.
While traditional flip flop latches may provide flow coordination, there are a number of issues that often arise in conventional flip flop latch systems. For example, traditional flip flop latches often involve timing penalties that tend to become even more burdensome as the operating frequencies of various systems increase. Traditional flip flop latches also often involve racing issues, Vmin limitations issues, and power consumption issues. For example, glitching input data can result in unnecessary active power consumption during clock “low” transitions.
A triple latch flip flop system and method are disclosed. In one embodiment, a triple latch flip-flop system includes a pull up latch, a pull down latch, a primary latch and an output. The pull up latch drives a pull up node. The pull down latch drives a pull down node. The primary latch records the state of the triple latch flip-flop system. The output node outputs a logic value based upon outputs of the pull up latch, pull down latch and the primary latch.
Reference will now be made in detail to the preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one ordinarily skilled in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the current invention.
In one embodiment a triple latch flip flop is an edge-triggered state-element, logically identical to a traditional master-slave flip-flop approach, but with a new fundamental structure that facilitates improvements in speed and electrical robustness. A triple latch flip flop holds an output state during precharge phases and briefly drives an output state based upon input data during clock trigger phases, after which the triple latch flip flop “returns” to a precharge state and holding a “new” output state. In one exemplary implementation, a triple latch flip flop system can avoid or “sidestep” many traditional master to slave race concerns, Vmin limitations, and data-glitch power consumption.
The components of triple latch flip flop system 100 cooperatively operate to perform latching functions. Pull up latch 110 drives pull up node 113. Pull up node 113 selectively pulls up output node 140. In one embodiment, pull up node indudes a transistor coupled to a pull up voltage and controlled by an output of pull up latch 110. Pull down latch 120 drives pull down node 114. Pull down node 114 selectively pulls down output node 140. In one embodiment, pull down node includes a transistor coupled to a pull down voltage and controlled by an output of pull down latch 120. Primary latch 130 records a state of said triple latch flip-flop system. Output node 140 outputs a logic value based upon outputs of pull up latch 110, pull down latch 120 and primary latch 130.
It is appreciated that the latches of the present invention can be implemented in accordance with a variety of schemes or techniques. For example, the latches (e.g., pull up latches, pull down latches, primary latches, etc.) can be constructed out of static logic gates or dynamic gates.
Each latch sets on a low set signal “s” and resets on a high reset signal “r”.
Referring back to
At block 310, a triple latch flip flop system is pre-charged. In one embodiment, the pre-charging includes shutting off output drivers and putting a primary latch into a retention mode. In one exemplary implementation, the pre-charging includes forcing a pull-up latch into a set state and a pull-down latch into a reset state. In a pre-charge phase the output is weakly held until a subsequent clock trigger.
With reference back to
Referring back to
In one embodiment, a rising clock of triple latch flip flop system 100 shown in
With reference back to
With reference again to
With reference again to
An analogous set of events unfolds when evaluation occurs under low data. Path 181 goes low or a logical 0 and path 182 remains low or a logical 0. When input d is low path 183 is high and path 184 is also high. The triple latch flip flop system 100 remains in this state until the clock falls.
With reference once more to
Clock gating of present invention triple latch flip flop systems and methods can be achieved utilizing a variety of different configurations. In one embodiment, direct gating of the clock is utilized. In one exemplary implementation, a NAND gate is used to create gated clock bar for distribution to the flops. This can be done outside of the triple latch flip flop at the clock driver or can easily be incorporated into the triple latch flip flop itself in one embodiment of the present invention. The enable can furthermore factor into the NAND and NOR gates of the triple latch flip flop. For example, the enable signal can be used as a third input of the NAND gate, and the enable signal complement can be used as a third input of the NOR. In one embodiment, the inverter is incorporated into the triple latch flip flop.
In yet another embodiment, a third option is to factor enable into the complex gates of the driver latches. In an exemplary implementation, when enable is low a pull-up driver latch (e.g., 110) is forced to set and a pull-down driver latch (e.g. 120) is reset. This implementation can give more timing flexibility to the enable.
A good measure of flop speed is the propagation delay from the ‘d’ input to the ‘q’ output and is called d-to-q delay. In one embodiment of a triple latch flip flop the d-to-q delay is about a two gate delay. First, the data propagates through the complex gate of a driver latch. In one exemplary implementation, this gate is ratioed to favor the evaluate edge, which speeds d-to-q. The result is a propagation time of about one gate-delay. Second, either the pull-up or pull-down output node turns on to drive the ‘q’ output. In one embodiment, the output driver nodes (e.g., 113, 114, etc) include transistors that turn on at nearly their threshold voltage. In one exemplary implementation, the opposing output driver is guaranteed to be off, resulting in a propagation time of less than one gate-delay.
In one embodiment, the inversion of clock to create ck_b introduces an inequality in timing because ‘ck_b’ falls one gate-delay after ‘ck’ rises. To address this inequality, an additional transistor is added to the NOR gate and can facilitate substantial reduction of the inequality effect.
The above descriptions of the triple latch flip flop assume the clock (ck) precedes inverse clock (ck_b). However, in some implementations the converse is true, in which case the appropriate fix is to create a p-transistor, controlled by ck_b, to be placed in the NAND, parallel to the n-transistor that is controlled by ck.
In one embodiment, transistors of the latches are ratioed to help address race conditions. For example, if both inputs of the NAND gate transition on falling clock a race condition can occur. One rises while the other falls, but the falling input (e.g., the clock input) transitions first. Otherwise the NAND output would pulse low, temporarily releasing the lower latch from reset. Should data be low at this time, the lower latch sets the pull-down node and destroys the state of the primary latch. An analogous race occurs when clock falls after an evaluation on low data. This race is be between the two inputs of the NOR gate. Again, the clock input (this time ck_b) should transition first. In the worst of these two cases (the NOR gate race rising ck_b to falling pull-down node), the race is won by one gate-delay. For, d-to-q reasons the pull up latch and pull down latches are ratioed to speed evaluation and are therefore slow to pre-charge, giving additional margin to the race. Although the race is easily won, attention is paid during construction to guarantee proper operation.
The exemplary race on falling clock described earlier, has between one and two gate-delays of margin in one exemplary implementation. Additional margin may be added by adding two inverters on the “offending” feedback node. In one embodiment, this is the pull-down node feeding back into the NOR gate.
In one embodiment of the present invention, transistors are fabricated to “favor” transitions in state. In one exemplary data retention mode of the present invention, a pull up latch (e.g., 110) holds a logical zero and the pull down latch (e.g. 120) holds a logical one. This condition can be leveraged to improve the noise immunity of the latches. Specifically, the pull up latch benefits from constructing the complex gate so that it pulls down quickly and the feedback inverter so that it pulls up quickly. The pull down latch benefits from constructing the complex gate so that it pulls up quickly and the feedback and the inverter so that it pulls down quickly. This not only improves noise immunity (and therefore Vmin), but it also improves the d-to-q of the triple latch flip flop system. It furthermore gives additional margin to the race (on falling clock) as previously described.
In the primary latch, noise margin enhancement and lower minimum operating voltage are achieved by using multiple inverters in the feedback. Immunity further improves by replicating four transistors of the complex gate to create an isolated second output. Logically, this duplicates the gate. One logical gate is then used to drive the storage node, and the other logic gate is used to drive the “q” output. This isolates the storage node from the potentially noisy “q” output. The enhanced immunity comes at little to no timing penalty. In one exemplary implementation eight transistors (e.g., two transistors for each new inverter and four transistors for the complex gate) are utilized to achieve the enhanced noise immunity.
If area becomes a priority, the NOR and NAND gates can be absorbed by the pull up latch and pull down latches respectively. In one exemplary static implementation, this reduces the transistor count by two.
In one embodiment, the fundamental structure of a triple latch flip flop system can be leveraged to quickly increase current gain.
In one embodiment, the drive enhancement inverters are the feedback inverters already included in the pull up latch and pull down latch. This drive enhancement requires no additional inverters. Because the inverters are highly skewed, they switch before the input transition hits the 50% mark in one embodiment, a chain of skewed inverters can exceed a typical factor-of-four current gain in one exemplary implementation, an enhanced gain of roughly a factor-of-six is realized. It is to be appreciated that triple latch flop system 400 is an inverting flip flop. Additional skewed inverters can be added to create additional gain and/or to create inverting or non-inverting triple latch flop systems.
In one embodiment of the present invention, drive enhancement includes a dynamic inverter on the input path of a pull up node and another inverter on the input path of a pull down node.
It is appreciated that present invention flip flop enhancement features can be utilized to enhance traditional flip flop configurations. For example, present invention improved noise margin approaches, improved race margin approaches, and improved setup constraint approaches can be utilized in traditional flip flop configurations.
It is also appreciated that the present invention can be readily implemented with a scan function. In one embodiment, the scan function is added to the primary latch.
Thus, present invention systems and methods are efficient and conveniently perform latching operations. Present invention systems and methods can facilitate improved latching with reduced time delay, noise interference and enhanced setup constraints.
The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.
Number | Name | Date | Kind |
---|---|---|---|
3991380 | Pryor | Nov 1976 | A |
4739252 | Malaviya et al. | Apr 1988 | A |
5128560 | Chern et al. | Jul 1992 | A |
5264738 | Veendrick et al. | Nov 1993 | A |
5297086 | Nasu et al. | Mar 1994 | A |
5410278 | Itoh et al. | Apr 1995 | A |
5453708 | Gupta et al. | Sep 1995 | A |
5467038 | Motley et al. | Nov 1995 | A |
5525916 | Gu et al. | Jun 1996 | A |
5568103 | Nakashima et al. | Oct 1996 | A |
5594360 | Wojciechowski et al. | Jan 1997 | A |
5610548 | Masleid | Mar 1997 | A |
5677650 | Kwasniewski et al. | Oct 1997 | A |
5680359 | Jeong et al. | Oct 1997 | A |
5764110 | Ishibashi et al. | Jun 1998 | A |
5796313 | Eitan et al. | Aug 1998 | A |
5811983 | Lundberg et al. | Sep 1998 | A |
5880608 | Mehta et al. | Mar 1999 | A |
5963043 | Nassif | Oct 1999 | A |
5977763 | Loughmiller et al. | Nov 1999 | A |
5982211 | Ko et al. | Nov 1999 | A |
6011403 | Gillett et al. | Jan 2000 | A |
6025738 | Masleid | Feb 2000 | A |
6028490 | Komatsu et al. | Feb 2000 | A |
6031403 | Gerbach et al. | Feb 2000 | A |
6087886 | Ko et al. | Jul 2000 | A |
6127872 | Kumata et al. | Oct 2000 | A |
6133759 | Beck et al. | Oct 2000 | A |
6154045 | Ye et al. | Nov 2000 | A |
6154099 | Suzuki et al. | Nov 2000 | A |
6154100 | Okamoto et al. | Nov 2000 | A |
6172943 | Yuzuki et al. | Jan 2001 | B1 |
6188260 | Stotz et al. | Feb 2001 | B1 |
6229747 | Cho et al. | May 2001 | B1 |
6242936 | Ho et al. | Jun 2001 | B1 |
6242937 | Lee et al. | Jun 2001 | B1 |
6281706 | Wert et al. | Aug 2001 | B1 |
6407571 | Furuya et al. | Jun 2002 | B1 |
6426641 | Koch et al. | Jul 2002 | B1 |
6455901 | Kameyama et al. | Sep 2002 | B2 |
6466063 | Chen | Oct 2002 | B2 |
6476632 | La Rosa et al. | Nov 2002 | B1 |
6489796 | Tomishima | Dec 2002 | B2 |
6535014 | Chetlur et al. | Mar 2003 | B2 |
6538471 | Stan et al. | Mar 2003 | B1 |
6538522 | Aipperspash et al. | Mar 2003 | B1 |
6545519 | Carballo | Apr 2003 | B1 |
6570407 | Sugisawa et al. | May 2003 | B1 |
6577157 | Cheung et al. | Jun 2003 | B1 |
6577176 | Masleid et al. | Jun 2003 | B1 |
6621318 | Burr | Sep 2003 | B1 |
6657504 | Deal et al. | Dec 2003 | B1 |
6664807 | Crotty et al. | Dec 2003 | B1 |
6690242 | Fang et al. | Feb 2004 | B2 |
6697929 | Cherkauer et al. | Feb 2004 | B1 |
6724214 | Manna et al. | Apr 2004 | B2 |
6731140 | Masleid et al. | May 2004 | B2 |
6731179 | Abadeer et al. | May 2004 | B2 |
6759863 | Moore et al. | Jul 2004 | B2 |
6762966 | LaRosa et al. | Jul 2004 | B1 |
6774734 | Christensen et al. | Aug 2004 | B2 |
6798230 | Taylor et al. | Sep 2004 | B1 |
6815971 | Wang et al. | Nov 2004 | B2 |
6815977 | Sabbavarapu et al. | Nov 2004 | B2 |
6831494 | Fu et al. | Dec 2004 | B1 |
6882172 | Suzuki et al. | Apr 2005 | B1 |
6885210 | Suzuki | Apr 2005 | B1 |
6903564 | Suzuki | Jun 2005 | B1 |
6956405 | Lundberg | Oct 2005 | B2 |
7053680 | Masleid et al. | May 2006 | B2 |
7076682 | Jacobson | Jul 2006 | B2 |
7119580 | Masleid et al. | Oct 2006 | B2 |
7256634 | Masleid | Aug 2007 | B2 |
7304503 | Masleid et al. | Dec 2007 | B2 |
7310008 | Masleid | Dec 2007 | B1 |
7330054 | Masleid | Feb 2008 | B1 |
7336103 | Masleid et al. | Feb 2008 | B1 |
7414485 | Masleid | Aug 2008 | B1 |
20010028278 | Ooishi | Oct 2001 | A1 |
20010052623 | Kameyama et al. | Dec 2001 | A1 |
20020039347 | Matsugatani et al. | Apr 2002 | A1 |
20020087930 | Kanba | Jul 2002 | A1 |
20020178415 | Saraf | Nov 2002 | A1 |
20030189465 | Abadeer et al. | Oct 2003 | A1 |
20040032290 | Lundberg | Feb 2004 | A1 |
20040104731 | Vollertsen | Jun 2004 | A1 |
20040119501 | Sabbavarapu et al. | Jun 2004 | A1 |
20040119503 | Jamshidi et al. | Jun 2004 | A1 |
20040148111 | Gauthier et al. | Jul 2004 | A1 |
20040257115 | Bertram et al. | Dec 2004 | A1 |
20050184720 | Bernstein et al. | Aug 2005 | A1 |
20050195642 | Schmitt | Sep 2005 | A1 |
20050206432 | Tobita | Sep 2005 | A1 |
20050212547 | Suzuki | Sep 2005 | A1 |
20050248368 | Bertram et al. | Nov 2005 | A1 |
20060220678 | Rozas et al. | Oct 2006 | A1 |
Number | Date | Country |
---|---|---|
1398639 | Mar 2004 | EP |
Number | Date | Country | |
---|---|---|---|
20090212815 A1 | Aug 2009 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11480107 | Jun 2006 | US |
Child | 12391993 | US |