An implicitly pulsed dual edge triggered pulsed latch. The implicitly pulsed latch includes an overlapping clock generator and a transparency circuit designed to cause a transparent latch circuit to become transparent on each edge of a clock signal. A logic value on the input node of the latch is transferred to the output node of the latch in response to each clock edge transition. An explicitly pulsed dual edge triggered pulsed latch including a pulse generator and a transparent latch circuit. The explicitly pulsed latch includes a symmetrical pulse generator designed to cause the latch circuit to pass a logic value from the input node of the latch to the output node of the latch in response to a pulse on the clock node.
|
1. An implicitly pulsed dual edge triggered pulsed latch comprising:
a clock input configured to receive a clock signal;
an overlapping clock generator operably coupled to the clock input and configured to generate a plurality of overlapping clock signals in response to the clock signal;
a transparency circuit operably coupled to the overlapping clock generator and clock input, the transparency circuit having a first output node that transitions from a high resistance state to a low resistance state and back to the high resistance state in response to an edge transition on the clock signal;
a transparent latch circuit comprising:
an input node,
a circuit output node and
a transparency node, the transparency node operably coupled to the first output node and, in conjunction with the transparency circuit, is configured to cause the transparent latch to become transparent when the transparency node is at the low resistance state; and
wherein the dual edge triggered pulsed latch passes a logic value on the input node to the circuit output node in response to the edge transition on the clock signal.
2. The dual edge triggered pulsed latch of
6. The dual edge triggered pulse latch of
7. The dual edge triggered pulse latch of
8. The dual edge triggered pulsed latch of
9. The dual edge triggered pulsed latch of
10. The dual edge triggered pulsed latch of
11. The dual edge triggered pulsed latch of
a first switching element operably coupled to the first output node and configured to become transparent when a first overlapping clock signal of the plurality of overlapping clock signals is active;
a second switching element operably coupled in series with the first switching element and a first voltage potential, the second switching element configured to become transparent when the clock signal is active; and
a third switching element operably coupled in parallel with the second switching element and configured to become transparent when a second overlapping clock signal of the plurality of overlapping clock signals is active.
12. The dual edge triggered pulsed latch of
a second transparency circuit operably coupled to the overlapping clock generator and clock input, the transparency circuit having a second output node that transitions from the high resistance state to the low resistance state and back to the high resistance state in response to an edge transition on the complement of the clock signal; and
wherein the transparent latch circuit has a second transparency node operably coupled to the second output node and configured to cause the transparent latch to become transparent when the transparency node is at the low resistance state, and
wherein the second transparency circuit comprises:
a fourth switching element operably coupled to the second output node and configured to become transparent when the second overlapping clock signal is active;
a fifth switching element operably coupled in series with the fourth switching element and a second voltage potential, the second switching element configured to become transparent when the first overlapping clock signal is active; and
a sixth switching element operably coupled in parallel with the fifth switching element and configured to become transparent when a third overlapping clock signal is active.
14. The dual edge triggered pulsed latch of
15. The dual edge triggered pulsed latch of
|
Aspects of the present invention relate to sequential logic circuits. One particular aspect of the present invention relates to dual edge triggered flip-flop circuits that sample data on both edges of a clock.
Power dissipation of electronic circuits is becoming increasingly significant. Power consumption in sequential circuits is generally proportional to clock frequency. As designers continue to increase clock frequency in order to boost circuit performance, the power required to distribute the clock and drive the clock inputs of the sequential circuitry may account for a third or more of total chip power consumption. Dual edge triggered clocking schemes may be attractive because they allow a global clock to be distributed at half frequency. This reduction in clock frequency may result in significant power savings.
A challenge of dual edge triggered clocking schemes is that the sequential circuits (flip-flops, latches and other state holding elements) tend to be more complicated and can result in increased power consumption and/or slower devices. Dual edge triggered clocking schemes also tend to preclude phase-based designs such as transparent latches and/or traditional domino circuits. Yet another challenge in dual edge triggered clocking schemes is that the duty cycle of the clock generally has to be well controlled to avoid introducing additional skew on the falling edge of the clock.
What is needed are sequential circuits, or storage elements, that store data on both clock edges, thereby saving energy when distributing a clock signal. The merit of a sequential circuit may be measured by its efficiency with respect to power, latency and robustness given timing uncertainty. What is further needed are dual edge triggered flip flop circuits that employ pulsed latches to store data on both clock edges in a fast, efficient and robust manner.
One aspect of the present invention involves an implicitly pulsed dual edge triggered pulsed latch. The latch includes a clock input for receiving a clock signal, an overlapping clock generator for generating a plurality of overlapping clock signals in response to the clock signal, a transparency circuit that has an output node that transitions from a high resistance state to a low resistance state and back to a high resistance state in response to an edge transition on the clock signal and a transparent latch circuit. The transparent latch circuit includes an input node, an output node and a transparency node configured to make the latch transparent when the transparency node is at a low resistance. The dual edge triggered pulsed latch passes a logic value on the input node of the latch circuit to the output node of the latch circuit in response to the edge transition on the clock signal.
Another aspect of the present invention involves an implicitly pulsed dual edge triggered pulse latch having a clock input for receiving a clock signal, an overlapping clock generator for generating a plurality of overlapping clock signals in response to the clock signal, a first transparency circuit, a second transparency circuit and a transmission gate circuit. The first transparency circuit has a data input node and becomes transparent when the clock signal and first overlapping clock signal are active. The second transparency circuit is coupled in parallel with the first transparency circuit and becomes transparent when a third overlapping clock signal and fourth overlapping clock signal are active. The transmission gate circuit includes a third transparency circuit that becomes transparent when the clock signal and first overlapping clock signal are active and a data output node. The dual edge triggered pulsed latch passes a logic value on the data input node to the data output node in response to an edge transition on the clock signal.
Yet another aspect of the present invention involves an explicitly pulsed latch that includes a pulse generator and a transparent latch circuit. The pulse generator includes a clock input for receiving a clock signal, an overlapping clock generator for generating a plurality of overlapping clock signals in response to the clock signal and an explicit pulse circuit for generating a pulse in response to each edge of the clock signal on an output port. The transparent latch circuit includes an input node, an output node, a clock node. The pulse generator generates symmetrical pulses and the explicitly pulsed dual edge triggered pulsed latch passes a logic value on the input node to the output node in response to the pulse on the clock node.
Dual edge triggered pulsed latches may be used in place of dual edge triggered flip-flops because they are generally faster and may provide a modest amount of time borrowing. An “implicitly” pulsed dual edge triggered pulsed latch uses the stack of clocked transistors within the latch to receive partially overlapping clocks to activate the latch at the appropriate times, whereas an “explicitly” pulsed dual edge triggered pulsed latch uses a pulse generator that produces pulses on the rising and falling edges of a clock to drive a conventional transparent latch. Aspects of the present invention involve both implicit and explicit pulse generators that are used to convert transparent latches that become transparent when the clock is active (either high or low) into dual edge triggered pulsed latches that become transparent for a brief window on both edges of the clock.
One aspect of the present invention involves an implicitly pulsed dual edge triggered pulsed latch which involves substituting a clocked stack of transistors and an overlapping clock generator (such as a string of delay inverters) for the clocked input transistor(s) of a conventional transparent latch, as described in more detail below. In an implicitly pulsed dual edge triggered pulsed latch, the clocked stack of transistors is driven by partially overlapping clocks and causes the latch to be become transparent at the appropriate times. A clocked NMOS transistor stack may be substituted for a transistor driven by an active high clock and a clocked PMOS transistor stack may be substituted for an a transistor driven by an active low clock. An NMOS transistor stack and a PMOS transistor stack may be used in a pulsed latch design having active high and active low clocked transistors. The partially overlapping clock signals may be generated by a string of two or more delay inverters.
When D is at a logic one, transistor 102 is off and transistor 104 is conducting. Then, when the clock signal transitions to a logic one, transistor 106 becomes conducting causing the input of 112 to be pulled to a logic zero (through transistors 104, 106). When D is at a logic zero, transistor 102 is conducting and transistor 104 is off. In this case, when the clock signal transitions to a logic one, clkb transitions to a logic zero causing transistor 100 to become conducting. The input of inverter 112 is pulled to a logic one (through transistors 100, 102). When the clock signal transitions to a logic zero, the jamb latch 10 becomes opaque (transistors 100, 106 are off) and the Q value is held on the output.
If the D input switches while the latch 10 is opaque, some charge sharing noise may occur. A keeper (back-to-back inverters 108, 110) and output inverter 112 may be appropriately designed to reject the noise. The keeper also holds the value at the input of inverter 112 while the latch is opaque. Inverter 108 generally should be weak enough so that it can be overpowered by transistors 104, 106 or 100, 102 when the latch is transparent.
Referring now to
When D is at a logic one, transistor 104 is conducting and transistor 102 is off. When clk transitions to a logic one, NMOS stack 128 becomes transparent during window t1 causing the input of inverter 112 to be pulled to a logic zero (through transistors 104, 120, 122). Then, when clk transitions to a logic zero, NMOS stack 128 again becomes transparent during window t3 causing the input of inverter 112 to be pulled to a logic zero (through transistors 104, 120, 124).
When D is at a logic zero, transistor 104 is off and transistor 102 is conducting. When clk transitions to a logic one, PMOS stack 126 becomes transparent during t2 causing the input of inverter 112 to be pulled to a logic one (through transistors 114, 118, 102). Then, when clk transitions to a logic zero, PMOS stack 126 becomes transparent during t4 causing the input of inverter 112 to be pulled to a logic one (through transistors 116, 118, 102).
This dual edge triggered jamb latch 138 has twenty transistors (including two transistors for each inverter), of which twelve switch with the activity factor of the clock (i.e., the transistors 114,116, 118, 120, 122, 124 and the six transistors of delay inverters 132, 134, 136 switch every clock cycle).
The implicitly pulsed latch 526 of
Referring back to
This dual edge triggered pulsed latch 600 has seventeen transistors, of which seven switch at the activity factor of the clock. Differential outputs may be provided by adding another inverter on node y. This circuit can accept and amplify low-swing differential inputs D and Db.
Alternatively, a faster Nikolic slave latch 800, as depicted in
An explicitly pulsed dual edge triggered pulsed latch may be constructed using a conventional transparent latch clocked by a pulse generator that produces pulses on the rising and falling edges of the clock. One conventional pulse generator uses a ten transistor transmission gate XOR to supply the clock to the diffusion input of a transmission gate, which may introduce issues of noise and non-uniform capacitive loading. See J. Tschanz et al, “Comparative Delay and Energy of Single Edge-Triggered & Dual Edge-Triggered Pulsed Flip-Flops for High-Performance Microprocessors,” Intl. Symp. Low Power Electronic Design, 2001.
Note that a clkb transistor may be shared between the NAND gates 1302, 1304 using the principle of multiple output static logic as described in U.S. patent application Ser. No. 11/513605, titled “Multi-Output Static Logic,” filed on Aug. 30, 2006, naming David Harris and Zhih-Kong Yang as inventors, the disclosure of which is hereby incorporated by reference as if set forth fully herein.
An advantage of using an explicit pulse generator 1402, such as depicted in
Sequencing elements such as flip-flops and latches may have an enable input. When the enable input is a logic zero, the element retains its state independently of the clock. Dual edge triggered flip-flops and dual-edge triggered pulsed latches may be disabled by using an external circuit to stop the clock. The external circuit generally has to be able to stop the clock in both the logic one state and the logic zero state. Alternatively, an extra series enable transistor may be inserted in the implicitly pulsed latch circuit, at the expense of increasing the height of the tall stack. Similarly, an extra series transistor may be placed in the explicit pulse generator to lock out pulses when the latch should be disabled.
Many sequencing elements may require a reset signal to enter a known initial state on startup. The reset signal may be asynchronous or synchronous. An asynchronous reset forces the output Q low immediately, while a synchronous reset waits for the clock. A settable sequencing element has a set signal that forces the output high instead of low.
Implicitly pulsed latches may be reset asynchronously with a strong transistor tied directly to the state node as depicted in
Implicitly pulsed latches may be set or reset synchronously with extra transistors in series and parallel with the data input.
Alternatively, the D input may be gated with the reset using a NAND gate as depicted in
As will be recognized by those skilled in the art from the foregoing description of example embodiments of the invention, numerous variations of the described embodiments may be made without departing from the spirit and scope of the invention. For example, the implicit pulse generator used to clock a dual edge triggered pulsed latch may employ fixed or variable delay elements or delay elements implemented using microstrip lines or a number of inverters or other gates connected in series, or may obtain the pulses from a multiphase clock generator such as a phase-locked loop or delay-locked loop. The explicit dual pulse generator may be implemented using other logic gate configurations that result in the same Boolean algebraic functions or that otherwise generate pulses on both edges of the clock. Although embodiments of the present invention have been depicted using CMOS transistors, this is by way of example and not limitation. The invention could also be implemented using other types of transistors, superconducting circuit elements, or any other technology capable of implementing digital logic. Further, while the present invention has been described in the context of specific embodiments and processes, such descriptions are by way of example and not limitation. Accordingly, the proper scope of the present invention is specified by the following claims and not by the preceding examples.
Fairbanks, Scott M., Harris, David Money
Patent | Priority | Assignee | Title |
11799458, | Jun 08 2021 | Samsung Electronics Co., Ltd. | Flip flop circuit |
8542048, | Jun 01 2011 | SHENZHEN XINGUODU TECHNOLOGY CO , LTD | Double edge triggered flip flop |
9059693, | Mar 04 2013 | SAMSUNG ELECTRONICS CO , LTD | Clock gating circuit |
9112489, | May 30 2012 | NXP USA, INC | Sequential logic circuit and method of providing setup timing violation tolerance therefor |
Patent | Priority | Assignee | Title |
5793236, | Dec 13 1996 | QUARTERHILL INC ; WI-LAN INC | Dual edge D flip flop |
6301322, | Apr 23 1999 | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | Balanced dual-edge triggered data bit shifting circuit and method |
6456136, | Apr 13 2001 | Oracle America, Inc | Method and apparatus for latching data within a digital system |
6762957, | Dec 20 2001 | BEIJING XIAOMI MOBILE SOFTWARE CO , LTD | Low clock swing latch for dual-supply voltage design |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 27 2007 | HARRIS, DAVID MONEY | Sun Microsystems, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019976 | /0370 | |
Sep 28 2007 | Sun Microsystems, Inc. | (assignment on the face of the patent) | / | |||
Sep 28 2007 | FAIRBANKS, SCOTT M | Sun Microsystems, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019976 | /0370 | |
Feb 12 2010 | ORACLE USA, INC | Oracle America, Inc | MERGER AND CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 037305 | /0238 | |
Feb 12 2010 | Sun Microsystems, Inc | Oracle America, Inc | MERGER AND CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 037305 | /0238 | |
Feb 12 2010 | Oracle America, Inc | Oracle America, Inc | MERGER AND CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 037305 | /0238 |
Date | Maintenance Fee Events |
Mar 25 2010 | ASPN: Payor Number Assigned. |
Mar 14 2013 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Aug 17 2017 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Aug 18 2021 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Mar 02 2013 | 4 years fee payment window open |
Sep 02 2013 | 6 months grace period start (w surcharge) |
Mar 02 2014 | patent expiry (for year 4) |
Mar 02 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 02 2017 | 8 years fee payment window open |
Sep 02 2017 | 6 months grace period start (w surcharge) |
Mar 02 2018 | patent expiry (for year 8) |
Mar 02 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 02 2021 | 12 years fee payment window open |
Sep 02 2021 | 6 months grace period start (w surcharge) |
Mar 02 2022 | patent expiry (for year 12) |
Mar 02 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |