Circuit to reduce charge sharing for domino circuits with pulsed clocks
Granted 23 Apr 2002 · 3 office actions
Assignee: Intel Corporation
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Paul D. Madland · Examiner: Michael Tokar · AU 2819 · TC 2800
Life of the application
11 dated eventsAbstract
A circuit includes at least one input, an evaluate pulsed clock, and an output. In one embodiment, the circuit precharges an intermediate node in the circuit in response to a precharge pulsed clock and the evaluate pulsed clock.
Description
6 parts›BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to the field of integrated circuits and, more specifically, to logic circuits designed for high-speed operation, such as domino logic circuits.
2. Description of the Related Art
Performance goals of processors increase with every generation, and progressively more sophisticated architectures are required to implement their complex functions. Advanced architectures require long pipelines operating at very high frequencies. These higher frequencies demand increased usage of sophisticated circuit design styles like domino circuits.
Domino circuits increase the speed performance of logic circuits by reducing the capacitance associated with the use of P-type metal oxide semiconductors (“MOS”). Domino circuits accomplish this by precharging a series of logic gates during a first clock phase, or precharge cycle, and evaluating the intended logic function during the next clock phase, or evaluation cycle. However, domino circuits tend to be susceptible to the problem of charge sharing between internal nodes. Domino circuits using pulsed clocks do not lend themselves to the standard intermediate node precharge methods. Internal nodes provide connecting points internal to the circuit and they do not provide output signals. The occurrence of charge sharing in a domino circuit may cause device failure.
FIG. 1 represents a prior art domino circuit 150 which is typically susceptible to the problem of charge sharing. Domino circuit 150 contains a P-type transistor P 1 170 , which is used for precharge, and two N-type transistors N 1 and N 2 172 , which perform a logic function. A third N-type transistor N 3 174 is used to perform an evaluation function.
During the precharge cycle, a precharge pulsed clock (“Pclk”) 160 transistions low and turns on transistor P 1 . When transistor P 1 is on and evaluation pulsed clock (“Eclk”) 166 is inactive, node A 180 is precharged. Node B stays low if input B 162 is low, which keeps transistor N 1 off. However, if input B 162 changes its logic state from low to high after the precharge cycle, it turns on transistor N 1 . When transistor N 1 is on, it connects node A 180 and node B 182 . Consequently, the charge stored at node A 180 would have to be shared with node B 182 since the charge stored at node B is lower than the change at node A. The occurrence of a charge sharing between node A and node B typically causes output 156 to be undefined. Accordingly, an undefined output value may cause device failure.
Therefore, it is desirable to have a mechanism that prevents or reduces the occurrence of charge sharing in a domino circuit that uses a pulsed clock.
›SUMMARY OF THE INVENTION
A circuit includes at least one input, an evaluate pulsed clock, and an output. In one embodiment, the circuit precharges an intermediate node in the circuit in response to a precharge pulsed clock and the evaluate pulsed clock.
Additional features and benefits of the present invention will become apparent from the detailed description, figures and claims set forth below.
›BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will be understood more fully from the detailed description given below and from the accompanying drawings of various embodiments of the invention, which, however, should not be taken to limit the invention to the specific embodiments, but are for explanation and understanding only.
FIG. 1 is a circuit diagram illustrating a prior art domino circuit.
FIG. 2 is a block diagram of a circuit illustrating one embodiment of the domino circuit with a precharging intermediate node.
FIG. 3A is a NAND gate circuit illustrating one embodiment of a domino circuit with a precharging intermediate node.
FIG. 3B is an inverter circuit illustrating one embodiment of a domino circuit with a precharging intermediate node.
FIG. 4 is a combination logic circuit of one embodiment of a domino circuit with multiple inputs.
FIG. 5 is a timing diagram illustrating an occurrence of charge sharing within internal nodes when intermediate nodes are not precharged.
FIG. 6 is a timing diagram illustrating no occurrence of charge sharing when intermediate nodes are precharged.
FIG. 7 is a flowchart illustrating an embodiment of a process for precharging intermediate nodes.
FIG. 8 is a diagram illustrating an embodiment of pulsed clock circuit according to an embodiment of the present invention.
FIG. 9 is a block diagram of one embodiment of the computer system.
›DETAILED DESCRIPTION · 1 of 3
An apparatus and method for reducing charge sharing in domino circuits is disclosed.
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention can be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the present invention.
It is understood that the present invention may be comprised of transistor circuits that are readily manufacturable using well-known CMOS (complementary metal-oxide semiconductor) technology, or other equivalent semiconductor manufacturing processes. In addition, the present invention may be implemented with other manufacturing processes for making digital devices.
While the following discussion of the present invention is presented with respect to implementation in a microprocessor, the present invention is not limited to that implementation. Implementations for generating clock signals for various digital devices such as discrete logic devices, static devices, dynamic devices, memory devices, devices either on the same or separate chips, communications devices, etc., are within the scope of the present invention.
A mechanism is described that reduces, and possibly minimizes charge sharing between internal nodes in a domino circuit using pulsed clocks. A node is a connecting point where multiple wires or lines are connected to the connecting point. In one embodiment, intermediate nodes of a domino circuit are precharged to eliminate charge sharing among internal nodes. Intermediate nodes are defined as internal nodes of a circuit other than output nodes. In another embodiment, a domino circuit employs an intermediate node precharge circuit to precharge one or more intermediate nodes in response to an evaluate-pulsed clock.
FIG. 2 is a block diagram of one embodiment of domino circuit 200 . Referring to FIG. 2, domino circuit 200 includes a precharge circuit 202 , a logic circuit 204 , a latch 208 , and an evaluation circuit 206 . Precharge circuit 202 is coupled to logic circuit 204 , a power supply Vcc, and a Pclk (precharge pulsed clock) 212 . Pulsed clock signal 212 may be a discrete clock waveform as opposed to the traditional phased clock signal, which is a uniform clock waveform. It should be appreciated that pulsed clock signal 212 could be other types of clock waveforms, which will not affect the scope of the invention.
Precharge circuit 202 includes at least one transistor. Various PMOS (p-channel metal-oxide semiconductor) and/or NMOS (n-channel metal-oxide semiconductor) transistors may be used in precharge circuit 202 . In one embodiment, precharge circuit 202 uses a PMOS transistor when Pclk 212 is negative enable. Negative enable refers to a device that operates or is on at logic state zero. It should be appreciated that precharge circuit 202 may receive additional control signals.
In operation, precharge circuit 202 charges predetermined nodes in logic circuit 204 to a predefined voltage level in response to the precharge cycle. The duration of the precharge cycle is controlled by Pclk 212 . In one embodiment, precharge circuit 202 charges at least one intermediate node during the precharge cycle. It should be noted that a node is a connecting point where multiple wires can be coupled.
Still referring to FIG. 2, logic circuit 204 is coupled to latch 208 , precharge circuit 202 , and evaluation circuit 206 . Latch 208 stores output information and precharge circuit 202 charges various internal nodes in logic circuit 204 . In one embodiment, logic circuit 204 further receives at least input signals A and B and performs various two-input logic functions, such as a two-way AND or NAND gate function.
In operation, a logic function, such as AND, NAND, OR, NOR, Inversion, or exclusive OR gate, may be performed by logic circuit 204 . Output nodes and intermediate nodes in logic circuit 204 as well as the intermediate node “Node C” may be precharged by precharge circuit 202 during each precharge cycle. Because of precharging intermediate nodes, charge sharing between the nodes is substantially reduced. Consequently, the precharging of internal nodes enhances not only the speed, but also the reliability of a domino circuit.
Evaluation circuit 206 is coupled to logic circuit 204 and a power supply Vdd. In one embodiment, Vdd, which is also known as Vss, is ground or low potential. An Eclk 210 (Evaluate-pulsed clock signal) is used to signal the duration of each evaluate cycle. For example, Eclk 210 is asserted for the entire period of evaluate cycle. Evaluation circuit 206 includes various PMOS and/or NMOS transistors to perform a function of evaluation. In one embodiment, an N-type transistor is used in evaluation circuit 206 when Eclk 210 is positive enable. A positive enable means a circuit that operates or is on at logic state high. It should be noted that evaluation circuit 206 may also receive other signals.
FIG. 3A illustrates an embodiment of a NAND gate using a domino circuit 300 . Referring to FIG. 3A, domino circuit 300 contains a precharge circuit 311 , a logic circuit 310 , an evaluation circuit 312 , a latch 336 , and an intermediate node precharge circuit 318 . It should be appreciated that intermediate node precharge circuit 318 can be integrated in precharge circuit 311 .
Precharge circuit 311 precharges output node A 330 during the precharge cycle. In one embodiment, a P-type transistor P 1 may be used in precharge circuit 311 when Pclk 301 is negative enable. While the source of transistor P 1 is coupled to a power supply Vcc 320 , the gate of transistor P 1 is coupled to Pclk 301 . The drain of transistor P 1 is coupled to node A 330 in logic circuit 310 . The drain of transistor P 1 is also the output of precharge circuit 311 . In operation, when Pclk 301 goes low during the precharge cycle, it turns on transistor P 1 and subsequently, node A 330 is precharged when a connection between Vcc 320 and node A 330 is established. Conversely, the precharging of node A 330 ends when Pclk 301 goes high, which turns off transistor P 1 and shuts off the connection between Vcc 320 and node A 330 .
›DETAILED DESCRIPTION · 2 of 3
Logic circuit 310 performs a logic function, such as a NAND gate or NOR gate or Inverter function. In one embodiment, logic circuit 310 contains two N-type transistors N 1 and N 2 where transistors N 1 and N 2 are connected in series to perform a NAND gate function. The drain of transistor N 1 is coupled to node A 330 , which is also the output of logic circuit 310 . Node A 330 is further coupled to latch 336 , which will be discussed later.
The gate of transistor N 1 is coupled to input B 303 while the source of transistor N 1 is coupled to node B 332 . The drain of transistor N 2 is also coupled to node B 332 while the gate of transistor N 2 is coupled to input A 305 . The source of transistor N 2 is coupled to evaluation circuit 312 . During the evaluation cycle, if both inputs A 305 and B 303 are high (logic is), node A 330 is pulled to Vdd 322 or ground and output 330 signals a logic zero. Conversely, if either input A 305 or input B 303 or both are low (logic zeros), node A 330 stays at Vcc 320 and consequently, output 330 signals a logic one.
Evaluation circuit 312 tells the logic device circuit 310 when to read output 330 . In one embodiment, evaluation circuit 312 contains a transistor N 3 where the gate of transistor N 3 is coupled to Eclk 307 . While the source of transistor N 3 is coupled to Vdd 322 (or ground), the drain of transistor N 3 is coupled to the source of transistor N 2 . In operation, when Eclk 307 goes high, it turns on transistor N 3 where node A 330 transitions down to Vdd 322 if both input A 301 and input B 303 are high.
Latch 336 stores or maintains logic value at output 330 . Two inverters I 1 and I 2 may be used in latch 336 . Inverter I 1 and inverter I 2 are coupled in series and are used to maintain the logic value at output 330 between the precharge cycle and the evaluation cycle and between the evaluation cycle and the next precharge cycle. In one embodiment, the output of inverter I 2 is coupled to intermediate node precharge circuit 318 .
Intermediate node precharge circuit 318 precharges intermediate nodes to prevent charge sharing between node A 330 and node B 332 . In one embodiment, intermediate node precharge circuit 318 contains two P-type transistors P 2 and P 3 where P 2 and P 3 are coupled in series. The source of transistor P 2 is coupled to Vcc 320 and the drain of transistor P 2 is coupled to the source of transistor P 3 . While the gate of transistor P 2 is coupled to the output of inverter I 2 , the gate of transistor P 3 is coupled to Eclk 309 . The drain of transistor P 3 is coupled to node B 332 of logic circuit 310 .
In operation, upon node A 330 is precharged and Eclk 309 is inactive, intermediate node precharge circuit 318 precharges node B 332 when both transistor P 2 and transistor P 3 are turned on. Once both node A 330 and node B 332 are precharged, the charge sharing between node A 330 and node B 332 is substantially reduced when transistor N 1 is subsequently turned on before the next precharge cycle. It should be appreciated that multiple intermediate node precharge circuit 318 may be used to precharge multiple intermediate nodes in a circuit including the intermediate node “node C”.
FIG. 3B illustrates an embodiment of an inverter using a domino circuit 350 . Domino circuit 350 contains essentially the same components as domino circuit 300 except N 2 306 shown in FIG. 3A, which has been removed. In one embodiment, domino circuit 350 performs an inverting logic function using a pulsed clock.
FIG. 4 illustrates an embodiment of a combination domino circuit 400 with more than two inputs. In one embodiment, combination domino circuit 400 is essentially the same domino circuit 300 , which is illustrated in FIG. 3, with an additional circuit block 402 . Circuit block 402 contains multiple transistors such as N 4 , where each transistor is gated by an input signal. For example, the gate of transistor N 4 is coupled to input C 409 while the gate of transistor Nx is coupled to input X 411 . Referring to FIG. 4, precharge node B 332 is more important in this situation because a charge sharing between node A 330 and node B 332 could easily occur when any one of input B 303 , C 409 , . . . and X 411 goes low and the capacitance of node B 332 is likely to be large compared to node A causing more charge sharing.
FIG. 5 is a NAND gate timing diagram 600 illustrating an occurrence of charge sharing when intermediate node precharge circuit is not used. Timing diagram 600 can be illustrated together with FIG. 1, which shows a NAND gate without an intermediate node precharge circuit. During cycle 1 , while Eclk 504 is inactive, Pclk 502 goes low to activate a precharge cycle. Both node A 510 and node B 512 are precharged since input A 506 and B 508 are high.
During cycle 2 , while Pclk 502 is inactive, Eclk 504 goes high to activate an evaluate cycle. Both node A 506 and node B 508 are pulled to a low logic state because both input A 506 and B 508 are high. During cycle 3 , while Eclk 504 is inactive and Pclk 502 is active, node A 510 is precharged. While node A 510 is precharged, node B 512 remains low because both input A 506 and B 508 are low.
During cycle 4 , while both Pclk 502 and Eclk 504 are inactive, input B 508 starts to change its logic state from inactive to active. When input B 508 changes logic and turns on transistor N 1 , a charge sharing between node A 510 and node B 512 has occurred. Accordingly, the charge at Node A 510 starts to drift low while the charge at node B 512 climbs up. As discussed above, the occurrence of charge sharing may cause the output of the device to be undefined, which may subsequently cause the system to stall or fail.
FIG. 6 is an embodiment of a NAND gate timing diagram 700 where no charge sharing has occurred. It should be appreciated that timing diagram 700 could be illustrated together with FIG. 3, which shows a NAND gate domino circuit with an intermediate node precharge circuit.
During cycle 1 , while Eclk 604 is inactive, Pclk 602 goes low to activate a precharge cycle. Both node A 610 and node B 612 are precharged since input A 606 and B 608 are high. During cycle 2 , while Pclk 602 is inactive, Eclk 604 goes high to activate an evaluation cycle. Both node A 606 and node B 608 are pulled to low because both input A 606 and B 608 are high. During cycle 3 , while Eclk 604 is inactive and Pclk 602 is active, node A 610 is precharged. Once node A 610 is precharged, node B 612 is subsequently precharged by intermediate node precharge circuit 318 of FIG. 3 . Gate delay 630 may be introduced by intermediate node precharge circuit 318 . Gate delay 630 may vary depending on the size of transistors used in latch circuit 336 and intermediate node precharge circuit 318 .
›DETAILED DESCRIPTION · 3 of 3
During cycle 4 , while both Pclk 602 and Eclk 604 are both inactive, no charge sharing occurs when input B 608 goes high because both node A 610 and node B 612 are precharged. Accordingly, intermediate node precharge circuit 318 prevents or substantially reduces the occurrence of charge sharing in a domino circuit using pulsed clock. Thus, preventing the occurrence of charge sharing can improve over all system performance and reliability.
FIG. 7 is a flowchart 800 illustrating an embodiment of a process for precharging intermediate nodes. The process starts at block 802 and proceeds to block 804 where the process identifies the output value at node A. Upon identifying the output value, the process proceeds from block 804 to block 806 where the output value is inverted. After block 806 , the process proceeds to block 808 where the process receives an evaluating pulsed clock. Upon identifying the inverted output value, the process proceeds from block 808 to block 810 where at least one intermediate node is precharged. After completion of the precharge, the process proceeds from block 810 to block 812 where the process ends.
FIG. 8 is a diagram of one embodiment of a pulsed clock circuit 900 . Referring to FIG. 8, p-channel transistors P 4 and P 5 are coupled in parallel to transistors P 2 and P 3 . Transistor P 4 includes a gate terminal connected to the output of inverter I 2 , a source terminal connected to Vcc, and a drain terminal connected to the source of transistor P 5 . Transistor P 5 also includes a gate terminal connected to eclk and a drain terminal connected to intermediate node F. Thus, transistors P 2 and P 3 set intermediate node C to a high and transistors P 4 and P 5 set intermediate node F to a high only if both node B is high and eclk is low, thereby preventing charge sharing between each of the intermediate nodes C and F, respectively, and the output node B. Thus, charge sharing may be reduced in a variety of pulsed clock circuits.
Referring to FIG. 9, the computer system into which an embodiment of the present invention is implemented is shown as 100 . Computer system 100 comprises a bus or other communication means 111 for communicating information, and a processor 112 coupled with bus 111 for processing information. Processor 112 includes a microprocessor, such as for example, but not limited to, an Intel Architecture Microprocessor™, manufactured by Intel Corporation of Santa Clara, Calif., the corporate assignee of the present invention. Processor 112 may also be another processor such as for example, but not limited to the PowerPCT™, Alpha™, et cetera.
System 100 further comprises a random access memory (RAM), or other dynamic storage device 104 (referred to as main memory) coupled to bus 111 for storing information and instructions to be executed by processor 112 . Main memory 104 also may be used for storing temporary variables or other intermediate information during execution of instructions by processor 112 . Computer system 100 also comprises a read only memory (ROM) and/or other static storage device 106 coupled to bus 111 for storing static information and instructions for processor 112 , and a data storage device 107 , such as a magnetic disk or optical disk and its corresponding disk drive. Data storage device 107 is coupled to bus 111 for storing information and instructions.
Computer system 100 may further be coupled to a display device 121 , such as a cathode ray tube (CRT) or liquid crystal display (LCD), coupled to bus 111 for displaying information to a computer user. An alphanumeric input device 122 , including alphanumeric and other keys, may also be coupled to bus 111 for communicating information and command selections to processor 122 . An additional user input device is cursor control 123 , such as a mouse, trackball, trackpad, stylus, or cursor direction keys, coupled to bus 111 for communicating direction information and command selections to processor 112 , and for controlling cursor movement on display 111 .
Another device which may be coupled to bus 111 is hard copy device 124 , which may be used for printing instructions, data, or other information on a medium such as paper, film, or similar types of media. Furthermore, a sound recording and playback device, such as a speaker and/or microphone may optionally be coupled to bus 111 for audio interfacing with computer system 100 . However, it can be appreciated that other configurations of the computer system may include some or all of the devices
Whereas many alterations and modifications of the present invention will no doubt become apparent to a person of ordinary skill in the art after having read the foregoing description, it is to be understood that the various embodiments shown and described by way of illustration are in no way intended to be considered limiting. Therefore, references to details of various embodiments are not intended to limit the scope of the claims, which in themselves recited only those features regarded as essential to the invention.
Thus, a method and apparatus for reducing charge sharing in a domino circuit with pulsed clock has been described.
Claims as granted
46 claimsLog in to read the claims of this application.
Log in to unlockClassifications
4 codes- H03K19/096
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock