1. Field of the Invention
The present invention relates generally to latch circuitry. More specifically, the present invention relates to a domino latch redundancy circuitry for soft error rate protection with integrated scan capability and collision avoidance.
2. Description of the Related Art
Various latching circuits are known for isolating logic circuitry stages, such as for ensuring orderly evaluation without corrupting data from one logic stage to the next, for avoiding races, and for other timing purposes. In complicated logic circuitry, such as that of a microprocessor or an application specific integrated circuit, it is known to “scan” data in and out of the logic circuitry latches in order to verify proper operation of the circuitry. It is also known to integrate scanning capability into latches.
Domino logic latching circuits are known in the art. For example, latch circuit 100 of
A domino circuit with parallel redundant latches, such as the prior art latch circuit 200 of
The different aspects of the present invention provide a latch with soft error rate protection with integrated scan capability and collision avoidance. The latch has a latch output node, a first sublatch, a second sublatch, and a third sublatch. The first, second, and third sublatches have respective input circuitry, output nodes, and feedback circuitry coupled to respective output nodes for reinforcing an output signal of the respective sublatches. The sublatches are operable to receive a data signal at their respective input circuitry and responsively generate binary-state output signals on their respective output nodes. The third output node is coupled to the latch output node. The first and second output nodes are also respectively connected such that, if an output of the third sublatch changes, the first and second sublatches force the third sublatch to have a same output as the first and second sublatch. This “forced” change reduces the soft error rate in the latch and the output signal of the latch output node is restored without the first, second, and third sublatches colliding. A number of scanning-mode control switches are also provided, which are coupled to sublatches for scanning data into the latch.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
The illustrative embodiments of the present invention provide for domino latch redundancy for soft error rate protection with integrated scan and collision avoidance. The invention, a preferred mode of use, further objectives, and advantages, will best be understood by reference to the following detailed description of an illustrative embodiments read in conjunction with the accompanying drawings.
Domino latch 200 has two independent feed forward domino sublatch circuits, domino sublatch 202 and domino sublatch 204, feeding forward to output domino sublatch 206. Domino latch 200 has only one redundant feed forward circuit because circuitry 210 is employed for both feeding forward the signals from the independent latch node domino sublatches 202 and 204 and feeding back the output signal from output node Q 208. Consequently, circuitry 210 is referred to herein as “feedback/feed forward” circuitry. However, circuitry 210 may also be referred to herein as merely “feedback” circuitry.
More particularly, the two feed forward domino sublatches, domino sublatches 202 and 204, in domino latch 200 are coupled to feedback circuitry 210 of output domino sublatch 206. Output domino sublatch 206 in turn has its output node 212 coupled to domino latch's 200 output node Q 208. Since output node 212 is directly coupled to the overall output node Q 208 with no device interposed there between, it may be said that output node 212 provides the overall output to output node Q 208. Domino sublatch 202 is coupled to data input D_B 214 and clock input CLK 216, for receiving signals of the same name, and its output node 218 provides a latch node that is coupled to feedback/feed forward circuitry 210 via inverter 220. Inverter 220 may be considered to be part of domino sublatch 202, and may accordingly be referred to herein as an output inverter of the domino sublatch 202. Similarly, domino sublatch 204 is coupled to receive the data and clock signals, and its output node 222 provides a latch node that is coupled to feedback/feed forward circuitry 210 via inverter 224. Inverter 224 may be considered to be part of domino sublatch 204, and may accordingly be referred to herein as an output inverter of domino sublatch 204. Domino sublatch 206 is also coupled to receive the data and clock signals.
The internal circuitry of domino sublatch 206 is shown in
Likewise, output nodes 218 and 222 of domino sublatches 202 and 204, respectively, are driven to the same state as that of output node Q 208 during the evaluate phase. Thus, the outputs of inverters 220 and 224 also turn on pull-up transistor 230 or pull-down transistor 232 during precharge, which effectively inverts the output of inverter 228, to reinforce the state of output node Q 208. That is, with data high and clock low during precharge, pull-up transistor 238 and pull-down transistor 240 are turned off so that the feedback and feed forward signals on feedback/feed forward node 226 can reinforce the state of output node Q 208.
The above described arrangement provides the advantage of improved immunity to noise on output node Q 208. That is, the combination of the two feed forward paths through domino sublatches 202 and 204 and their respective inverters 220 and 224, and the feedback path through inverter 228 provide three paths for reinforcing the state of output node Q 208. Consequently, if any one of the output nodes of domino sublatches 202, 204, or 206 is subjected to induced erroneous change of state, the signals of the other two output nodes will prevent pull-up transistor 230 or pull-down transistor 232 of circuit 206 from being switched by the disparate signal, thereby preventing the feedback circuitry 210 from reinforcing the erroneous state so that output node Q 208 does not change to an erroneous state.
It should also be noted that the output nodes of domino sublatches 202, 204, and 206 are preferably physically separated sufficiently so that no two of them are subject to the effects of a single soft-error incident.
As to normal operation, for domino logic such as domino latch 300, during an evaluate phase the first and second scanning control signals SCANA and SCANB are driven low and their complements SCANA_B and SCANB_B are held high so that scanning control switches 302, 304, 306, and 308 are nonconductive and scan data is not written into domino latch 300. Also, during this evaluate phase clock signal CLK 310 goes high and data input D_B 312 is held high or driven low by the preceding logic stage. With clock signal CLK 310 high, domino latch 300 permits data input D_B 312 to drive its latch output high or low, as the case may be. Then, during a precharge phase, data input D_B 312 goes high and clock signal CLK 310 goes low. According to the arrangement shown for domino latch 300, with the data and clock signals in their precharge states feedback through inverters such as inverter 314 explicitly shown in sublatch 316 keep domino latch 300 output at the high or low state to which it was driven during evaluation, as the case may be, regardless of whether the output was driven high or low during evaluation.
In contrast, during the scanning mode of operation of domino latch 300 the first and second scanning control signals SCANA and SCANB are selectively held high and their complements SCANA_B and SCANB_B are driven low according to a particular sequence so that scanning control switches 302, 304, 306, and 308 are conductive and scan data is selectively staged into domino latch 300, as will be further described herein.
Before a further description more related to scanning, those aspects of domino latch 300 which relate more to normal operation of the domino latch 300 are now described. Much of this description relating to normal operation is of greater significance to the related patent application. Accordingly, the following description is somewhat abbreviated by comparison.
Domino latch 300 includes three domino latches 316, 318, and 320, which may be referred to herein as “sublatches,” whereas domino latch 300 may be referred to herein as the “overall” latch. Domino sublatches 316, 318, and 320 are all the same. Circuitry 322 is referred to herein as “feedback/feed forward” circuitry, or more simply as “feedback” circuitry. The outputs of the two feed forward domino sublatches 318 and 320 are coupled to circuit 354. The output of circuitry 354 is coupled to circuitry 322 of domino sublatch 316. Domino sublatch 316, in turn, has its output node 324 coupled to the overall domino latch 300 and output node Q 326. Since output node 324 is directly coupled to the overall output node Q 326 with no device interposed there between, it may be said that output node 324 provides the overall output node Q 326.
Each of domino sublatches 316, 318, and 320 is coupled to the data input D_B 312 and clock signal CLK 310, for receiving signals of the same name. Domino sublatch 318 and output node 328 provides a latch node that is coupled to feedback/feed forward circuitry 322 via inverter 330 and circuitry 354. Inverter 330 may be considered to be part of domino sublatch 318, and may accordingly be referred to herein as an output inverter of domino sublatch 318. Similarly, output node 332 provides a latch node that is coupled to feedback/feed forward circuitry 322 via inverter 334 and circuitry 354, which may be considered to be part of domino sublatch 320.
Circuitry 354 consists of two pull-down transistors 356 and 358 and two pull-up transistors 360 and 362. Domino sublatches 318 and 320 are redundant latches from that of domino sublatch 316. The state of domino sublatch 316 is controlled by the state of domino sublatches 318 and 320 without sublatches 316, 318, and 320 colliding or fighting with one another.
The internal circuitry of domino sublatch 316 is shown in
The combination of the two feed forward paths through domino sublatches 318 and 320 and their respective inverters 330 and 334, and the feedback path through inverter 314 provide three paths for reinforcing the state of the output node Q 326. Consequently, if any one of the output nodes of circuits 316, 318, or 320 is subjected to an induced erroneous change of state, the signals of the other two output nodes will restore the correct value of output node Q 326 together with circuit 354.
With regard to scanning aspects of domino latch 300, output node 332 of the middle sublatch, domino sublatch 320, provides a scanning output SO 350 for domino latch 300. Domino latch 300 also has four scanning-mode control switches. The first scanning-mode control switch 302 consists of a pair of NFET/PFET passgates. Scanning-mode control switch 302 has one set of conducting electrodes of the set of FET's coupled to the latch node, i.e., output node 328 of domino sublatch 318. Scanning-mode control switch 302 receives a scan data input signal SI 352 on the other set of conducting electrodes of the set of FET's and receives a first scanning control signal SCANA, and its complement SCANA_B, on the gates of the FET's. Scanning-mode control switch 302 selectively receives the scan data conductively to output node 328, according to the control signals asserted on the gates of scanning-mode control switch 302.
Domino latch 300 also has a second scanning-mode control switch 304, also consisting of a pair of NFET/PFET passgates. Scanning-mode control switch 304 couples output node 328 of domino sublatch 318 conductively to output node 332 of domino sublatch 320, according to a second scanning control signal SCANB and its complement SCANB_B asserted on the gates of scanning-mode control switch 304.
Likewise, domino latch 300 has a third scanning-mode control switch 306, also consisting of a pair of NFET/PFET passgates. In similar fashion, scanning-mode control switch 306 couples output node 332 of domino sublatch 320 conductively to output node 324 of domino sublatch 316, according to control signals SCANB and SCANB_B asserted on the gates of scanning-mode control switch 306.
Finally, domino latch 300 has a fourth scanning-mode control switch 308 consisting of a pair of NFET/PFET passgates. Scanning-mode control switch 308 has one set of conducting electrodes of the set of FET's coupled to output node 324 of domino sublatch 316. Scanning-mode control switch 308 receives a scan data input signal SI 352 on the other set of conducting electrodes of the set of FET's and receives the first scanning control signal SCANA and its complement SCANA_B on the gates of the FET's. Scanning-mode control switch 308 selectively transmits the scan data conductively to the output node 324, according to the control signals asserted on the gates of scanning-mode control switch 308.
The arrangement of
As is conventional, scanning data into domino latch 300 is done in two phases. For domino latch 300, the first phase is referred to as the “SCANA” scan clock phase, and the second phase is the “SCANB” scan clock phase. According to one sequence for scanning in data, in the first phase the first scanning-mode control signal SCANA is asserted, and its complement SCANA_B is deasserted, and the second scanning-mode control signal SCANB is deasserted, and its complement SCANB_B is asserted, thereby turning on scanning-mode control switch 302 and scanning-mode control switch 308, which conductively couples the scan data input signal SI 352 to output nodes 328 and 324, which latch and hold the data. Then, in the second phase, the first scanning-mode control signal SCANA is deasserted (complement asserted) and the second scanning-mode control signal SCANB is asserted (complement deasserted), which turns on scanning-mode control switches 304 and 306 and conductively couples to output node 332 the data latched in output nodes 328 and 324. At this point, after the SCANB phase of scanning, the data scanned in may be read at the scanning output SO 350.
Thus, the illustrative embodiments of the present invention provide a latch that provides soft error rate protection with integrated scan capability and collision avoidance. The latch has a latch output node, a first sublatch, a second sublatch, and a third sublatch. The first, second, and third sublatches have respective input circuitry, output nodes, and feedback circuitry coupled to respective output nodes for reinforcing an output signal of the respective sublatches. The sublatches are operable to receive a data signal at their respective input circuitry and responsively generate binary-state output signals on their respective output nodes. The third output node is coupled to the latch output node. The first and second output nodes are respectively connected such that, if an output of the third sublatch changes, the first and second sublatches force the third sublatch to have a same output as the first and second sublatch. This “forced” change reduces the soft error rate in the latch and the output signal of the latch output node is restored without the first, second and third sublatches colliding. A number of scanning-mode control switches are also provided, which are coupled to sublatches for scanning data into the latch.
The circuit as described above is part of the design for an integrated circuit chip. The chip design is created in a graphical computer programming language, and stored in a computer storage medium (such as a disk, tape, physical hard drive, or virtual hard drive such as in a storage access network). If the designer does not fabricate chips or the photolithographic masks used to fabricate chips, the designer transmits the resulting design by physical means (e.g., by providing a copy of the storage medium storing the design) or electronically (e.g., through the Internet) to such entities, directly or indirectly. The stored design is then converted into the appropriate format (e.g., GDSII) for the fabrication of photolithographic masks, which typically include multiple copies of the chip design in question that are to be formed on a wafer. The photolithographic masks are utilized to define areas of the wafer (and/or the layers thereon) to be etched or otherwise processed.
The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
The above disclosure has been presented for purposes of illustration and is not intended to be exhaustive or to limit the invention to the form disclosed. A preferred embodiment has been disclosed. Many additional aspects, modifications and variations are also contemplated and are intended to be encompassed within the scope of the following claims.