Microprocessor clock frequency (FCLK) is typically based on expected worst-case operating parameters such as supply voltage (VCC) droop and temperature. However, since operating parameters are normally not actually at the worst-case extremes, the operating FCLK may be unnecessarily limited. This is illustrated in
Unfortunately, this approach is costly in terms of consumed clock energy since an additional latch in conjunction with the MSFF is employed. In addition, the flip-flop is susceptible to datapath metastability issues, whereby a timing error may be undetected. Since undetected errors can normally not be tolerated, a metastability detector is required, resulting in substantial design overhead in both area and power.
Accordingly, a new approach is desired.
Embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.
In accordance with some embodiments, sequential circuits with error-detection are provided. They may, for example, be used to replace traditional master-slave flip-flops, e.g., in critical path circuits to detect and initiate correction of late transitions at the input of the sequential, which may enable performance and/or power benefits through reduction (if not elimination of) clock frequency guardbands. In some embodiments, such sequentials may comprise a transition detector with a time borrowing latch (TDTB). Such circuits may retain the error-detection features associated with previous designs, and at the same time, allow for lower clock energy consumption, reduced sequential delay, and the elimination of datapath metastability.
In operation, the latch 202 functions to pass along data, e.g., in a critical pipeline path, to the output (Q) after the clock transitions to a High phase. If the data arrives late (during a High phase) the transition detector 204 asserts, which causes the error to be corrected, for example, it may initiate re-execution of an appropriate instruction.
With the use of a latch in the datapath, datapath metastability issues are eliminated. That is, the data (D) will resolve correctly and in time if it arrives just as the clock is transitioning to the High phase. If it arrives too late, it still gets through, albeit possibly not in time to satisfy downstream timing requirements. In this case, however, an error signal will be generated, so any problems caused by the late-arriving data will be averted. With this design, there is an error path metastability issue, because if the data arrives just as the clock is transitioning to a High, the transition detector (depending on its implemented circuitry) may or may not resolve as an error. However, this should not be a problem, though, because if it resolves as an error, the error correction measures are taken. Conversely, if it wrongly fails to resolve as an error (a situation which should only occur during clock transition), the data will still properly be at the output due to the nature of the latch, i.e., it doesn't have metastability issues in the datapath and will pass the data to the output as soon as the clock is High. With this unique characteristic, the error-signal path behaves similar to a traditional synchronizer circuit, resulting in an extremely small probability of a metastable error signal affecting system functionality.
During the Low clock phase, the output node voltage of the dynamic gate is pre-charged, causing the ERROR signal to be Low (de-asserted), even if any input data transitions occur. Thus, it prevents the error signal from asserting if data arrives during the Low phase.
It may be appreciated that since min-delay paths are designed with sufficient margin, latch 202 can be used without the need for a master latch in front of it. So, the datapath latch 202 functions similarly to a pulse-latch, resulting in lower clock energy and eliminating datapath metastability. Although the transition detector portion may become metastable, the metastability issue, as mentioned above, can be managed much easier in the error-signal path as compared to the datapath. As long as the final pipeline-error signal resolves to either a logic-High, resulting in error recovery, or a logic-Low, resulting in no error recovery, correct functionality is maintained. With this unique characteristic, the error-signal path behaves similar to a traditional synchronizer circuit, resulting in an extremely small probability of a metastable error signal affecting system functionality.
With reference to
The processor(s) 602 includes one or more logic circuits 603 such as pipeline stages in one or more cores with one or more TDTB error detection sequentials such as those discussed herein. The memory 606 comprises one or more memory blocks to provide additional random access memory to the processor(s) 502, it may be implemented with any suitable memory including but not limited to dynamic random access memory, static random access memory, flash memory, or the like. The wireless network interface 608 is coupled to the antenna 609 to wirelessly couple the processor(s) 602 to a wireless network (not shown) such as a wireless local area network or a cellular network.
The mobile platform may implement a variety of different computing devices or other appliances with computing capability. Such devices include but are not limited to laptop computers, notebook computers, personal digital assistant devices (PDAs), cellular phones, audio and/or or video media players, and the like. It could constitute one or more complete computing systems or alternatively, it could constitute one or more components useful within a computing system.
In the preceding description, numerous specific details have been set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques may have not been shown in detail in order not to obscure an understanding of the description. With this in mind, references to “one embodiment”, “an embodiment”, “example embodiment”, “various embodiments”, etc., indicate that the embodiment(s) of the invention so described may include particular features, structures, or characteristics, but not every embodiment necessarily includes the particular features, structures, or characteristics. Further, some embodiments may have some, all, or none of the features described for other embodiments.
In the preceding description and following claims, the following terms should be construed as follows: The terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Rather, in particular embodiments, “connected” is used to indicate that two or more elements are in direct physical or electrical contact with each other. “Coupled” is used to indicate that two or more elements co-operate or interact with each other, but they may or may not be in direct physical or electrical contact.
The term “PMOS transistor” refers to a P-type metal oxide semiconductor field effect transistor. Likewise, “NMOS transistor” refers to an N-type metal oxide semiconductor field effect transistor. It should be appreciated that whenever the terms: “MOS transistor”, “NMOS transistor”, or “PMOS transistor” are used, unless otherwise expressly indicated or dictated by the nature of their use, they are being used in an exemplary manner. They encompass the different varieties of MOS devices including devices with different VTs, material types, insulator thicknesses, gate(s) configurations, to mention just a few. Moreover, unless specifically referred to as MOS or the like, the term transistor can include other suitable transistor types, e.g., junction-field-effect transistors, bipolar-junction transistors, metal semiconductor FETs, and various types of three dimensional transistors, MOS or otherwise, known today or not yet developed.
The invention is not limited to the embodiments described, but can be practiced with modification and alteration within the spirit and scope of the appended claims. For example, it should be appreciated that the present invention is applicable for use with all types of semiconductor integrated circuit (“IC”) chips. Examples of these IC chips include but are not limited to processors, controllers, chip set components, programmable logic arrays (PLA), memory chips, network chips, and the like.
It should also be appreciated that in some of the drawings, signal conductor lines are represented with lines. Some may be thicker, to indicate more constituent signal paths, have a number label, to indicate a number of constituent signal paths, and/or have arrows at one or more ends, to indicate primary information flow direction. This, however, should not be construed in a limiting manner. Rather, such added detail may be used in connection with one or more exemplary embodiments to facilitate easier understanding of a circuit. Any represented signal lines, whether or not having additional information, may actually comprise one or more signals that may travel in multiple directions and may be implemented with any suitable type of signal scheme, e.g., digital or analog lines implemented with differential pairs, optical fiber lines, and/or single-ended lines.
It should be appreciated that example sizes/models/values/ranges may have been given, although the present invention is not limited to the same. As manufacturing techniques (e.g., photolithography) mature over time, it is expected that devices of smaller size could be manufactured. In addition, well known power/ground connections to IC chips and other components may or may not be shown within the figures, for simplicity of illustration and discussion, and so as not to obscure the invention. Further, arrangements may be shown in block diagram form in order to avoid obscuring the invention, and also in view of the fact that specifics with respect to implementation of such block diagram arrangements are highly dependent upon the platform within which the present invention is to be implemented, i.e., such specifics should be well within purview of one skilled in the art. Where specific details (e.g., circuits) are set forth in order to describe example embodiments of the invention, it should be apparent to one skilled in the art that the invention can be practiced without, or with variation of, these specific details. The description is thus to be regarded as illustrative instead of limiting.
The present application is a continuation application of co-pending U.S. patent application Ser. No. 13/664,153, filed on Oct. 30, 2012 entitled “Sequential Circuit with Error Detection,” which is a continuation of U.S. patent application Ser. No. 12/286,067 filed Sep. 26, 2008, entitled “Sequential Circuit with Error Detection,” issued as U.S. Pat. No. 8,301,970 on Oct. 30, 2012 and claims a priority benefit thereof.
Number | Name | Date | Kind |
---|---|---|---|
3597693 | McNeilly | Aug 1971 | A |
5923676 | Sunter | Jul 1999 | A |
6150863 | Conn | Nov 2000 | A |
7392432 | Needham et al. | Jun 2008 | B2 |
20040170081 | Takahashi et al. | Sep 2004 | A1 |
20050025188 | Numakura et al. | Feb 2005 | A1 |
20050246613 | Blaauw et al. | Nov 2005 | A1 |
20070162798 | Das et al. | Jul 2007 | A1 |
20070290725 | Saint-Laurent | Dec 2007 | A1 |
20080172193 | Rhee et al. | Jul 2008 | A1 |
20080238476 | Lewis et al. | Oct 2008 | A1 |
20080307277 | Tschanz | Dec 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20160034338 A1 | Feb 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13664153 | Oct 2012 | US |
Child | 14878985 | US | |
Parent | 12286067 | Sep 2008 | US |
Child | 13664153 | US |