Flip-flop circuit having scan function
Granted 9 Aug 2011 · 1 office action
Assignee: Samsung Electronics
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Min-Su Kim, Hyoung Wook Lee · Examiner: Anh Q Tran · AU 2819 · TC 2800
Life of the application
8 dated eventsAbstract
A flip-flop circuit having a scan function includes an internal clock generator to receive a clock signal, a scan enable signal, and a first input signal, and to output an internal timing signal based on each of the clock signal, the scan enable signal, and the first input signal. The circuit includes a dynamic input unit to receive a second input signal, the scan enable signal, a first timing signal, and the internal timing signal, and to output a first output signal. The circuit also includes a static output unit to receive the first timing signal and the first output signal and to output a static output signal, and the dynamic input unit outputs the first output signal corresponding to one of the first input signal and the second input signal, respectively, based on a status of the scan enable signal.
Description
10 parts›CROSS-REFERENCE TO RELATED APPLICATIONS
This U.S. non-provisional patent application claims priority under 35 U.S.C. §119 of Korean Patent Application No. 10-2009-0050999, filed on Jun. 9, 2009, the entire contents of which are hereby incorporated by reference in its entirety.
›BACKGROUND
1. Field of the Invention
The present disclosure herein relates to digital signal processing, and more particularly, to a flip-flop circuit having a scan function.
2. Description of the Related Art
Semiconductor devices, and processors in particular, continue to decrease in size relative to the amount of data processed. As data speed and volume increase, it becomes challenging to keep power consumption of the semiconductor device low.
High-performance circuits may utilize dynamic circuitry to increase processing speed. System clocks have jitter, or variations in high or low levels, especially during rising and falling edges of the clock signal. While static circuitry may be affected by jitter, dynamic circuitry is not affected to the same extent. While static circuitry utilizes signals that are locked in at a rising (or falling) clock signal and held for a duration of a high or low clock period, dynamic circuitry allows a signal to rise or fall during a clock high (or low) period, and the signal is held until the next changing clock edge. For example, in the dynamic circuit if the input signal is low at a rising clock edge but changes to a high level during the high level of the clock, an output signal may be changed to high and held at a high level until the falling edge of the clock. Dynamic logic allows a circuit to operate with a higher processing speed, but may also consume more power than a static logic circuit.
Semi-dynamic flip-flops are capable of dynamically processing inputs to output a static output. In other words, inputs of the semi-dynamic flip-flop may change although the output is held constant until a clock signal triggers the flip-flop, at which point, a value of a dynamic input may become the new output value. Semi-dynamic flip-flops are more efficient than master/slave flip-flops and static pulsed flip-flops. Semi-dynamic flip-flops may be used in a variety of circuits, including translation lookaside buffers (TLB), and arithmetic logic units (ALU). A translation lookaside buffer is a CPU cache that memory management hardware uses to improve virtual address translation speed. An ALU is a digital circuit that performs arithmetic and logical operations and is the building block of central processing units (CPU). Even the simplest microprocessors include ALUs to maintain timers, for example.
Scan testing may be used to test semiconductor chips. In scan-based semiconductor designs, a series of registers may be connected to form serial shift register chains to capture any combinational logic faults among the serially-connected registers.
However, conventional circuits utilizing scan circuitry may require additional hardware, such as additional transistors, which may decrease an output time of the circuit, increase a hold time of a signal, and thus degrade the performance of the circuit.
›SUMMARY · 1 of 3
The present general inventive concept provides a high-speed semi-dynamic flip-flop including a scan function. Embodiments of the present general inventive concept may implement a semi-dynamic flip-flop circuit having improved performance while maintaining a small surface area on a semiconductor chip or circuit board.
Features and utilities of the present general inventive concept will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the general inventive concept.
Features and/or utilities of the present general inventive concept may be realized by a flip-flop circuit having a scan function, the flip-flop circuit including an internal clock generator to receive a clock signal, a scan enable signal, and a first input signal, and to output an internal timing signal based on each of the clock signal, the scan enable signal, and the first input signal, a dynamic input unit to receive a second input signal, the scan enable signal, a first timing signal, and the internal timing signal, and to output a first output signal, and a static output unit to receive the first timing signal and the first output signal and to output a static output signal. The dynamic input unit may output the first output signal corresponding to one of the first input signal and the second input signal, respectively, based on a status of the scan enable signal.
The dynamic input unit may include a first NMOS to receive the scan enable signal as a gate input, at least one second NMOS connected parallel to the first NMOS, the second NMOS to receive the second input signal as a gate input, a third NMOS connected in series with the first and second NMOS, the third NMOS to receive the first timing signal as a gate input, and a fourth NMOS connected in series with the third NMOS, the fourth NMOS to receive the internal timing signal as a gate input. The first through fourth NMOS transistors may be connected between the first output signal at one end and ground at the other end.
The at least one second NMOS may include a plurality of NMOS transistors connected to form a complex NMOS gate.
A source of the first NMOS transistor and the at least one second NMOS transistor may each be connected to the electrical node and a drain of each of the first NMOS and the at least one second NMOS may be connected to a source of the third NMOS transistor, a drain of the third NMOS transistor may be connected to a source of the fourth NMOS transistor, and a drain of the fourth NMOS may be connected to ground.
A source of the fourth NMOS transistor may be connected to the electrical node, a source of each of the first NMOS and one of the at least one second NMOS transistors may be connected to a drain of the fourth NMOS transistor, and a source of the fourth NOS may be connected to a drain of each of the first NMOS and one of the at least one second NMOS transistors, and a drain of the fourth NMOS may be connected to ground.
The internal timing signal may be a pulse signal and the internal timing generator may generate the pulse signal based on each of the clock signal, the scan enable signal, and the first input signal.
The internal timing generator may include a first NOR logic gate to receive the first input signal and the scan enable signal and to output an intermediate signal a second NOR gate to receive a delayed clock signal and the intermediate signal and to output the internal timing signal.
The internal timing generator may further include a pair of inverters connected directly in series to receive the clock signal as an input and to output the delayed clock signal.
The internal timing generator may include a first NAND logic gate to receive the first input signal and the scan enable signal and to output a first intermediate signal, a second NAND logic gate to receive a delayed clock signal and the first intermediate signal and to output a second intermediate signal, and a third NAND logic gate to receive the second intermediate signal and the first output signal, and to output the internal timing signal.
The internal timing generator may include a first NAND logic gate to receive the first input signal and the scan enable signal and to output a first intermediate signal, a transmission gate to receive the first intermediate signal and a delayed clock signal as inputs and to output a second intermediate signal to a first electrical node, a PMOS transistor connected between a power source and the first electrical node and having a gate connected to the output of the first NAND logic gate, the PMOS transistor to pre-charge the first electrical node, and an inverter connected to the first electrical node to receive the second intermediate signal and to output the internal timing signal.
The internal timing generator may include a first NAND logic gate to receive the first input signal and the scan enable signal and to output a first intermediate signal, a first inverter to receive the clock signal and to output a delayed clock signal, a second NAND gate to receive the delayed clock signal and the first intermediate signal and to output a second intermediate signal, and a second inverter to receive the second intermediate signal and to output the internal timing signal.
The internal timing generator may include a first NAND logic gate to receive the first input signal and the scan enable signal and to output a first intermediate signal, a second NAND logic gate to receive a delayed clock signal and the first intermediate signal and to output a second intermediate signal, and an inverter to receive the second intermediate signal and to output the internal timing signal.
The static output unit may include a first output latch to receive a signal from the electrical node corresponding to the output of the logic circuit and to output a signal to the electrical node corresponding to the signal received from the electrical node signal and a second output latch to receive the signal from the electrical node and a timing signal and to output an output signal.
›SUMMARY · 2 of 3
The second output latch may include first, second, and third NMOS transistors connected in series between power and ground, the first and third NMOS transistors receiving as gate inputs the signal from the electrical node, and the second NMOS receiving as a gate input signal the timing signal, and two inverters connected input-to-output, a first input-to-output connection connected between a drain of the first NMOS transistor and a source of the second NMOS transistor, and a second input-to-output connection outputting an output signal from the logic circuit.
The timing signal may be the internal timing signal from the control circuit.
The timing signal may be the clock signal.
Features and/or utilities of the present general inventive concept may also be realized by a logic circuit including the flip-flop circuit described above, the logic circuit including at least first and second flip-flop circuits as described above and at least one logic circuit connected to an output of the first flip-flop circuit and having an output connected to an input of the second flip-flop circuit, and the output of the at least one logic circuit is the second input signal of the second flip-flop circuit, and the output of the first flip-flop may be the first input signal of the second flip-flop.
Features and/or utilities of the present general inventive concept may also be realized by a method of performing a multiplexing function in a flip-flop circuit, the method including receiving a first input signal, a scan enable signal, and a clock signal in an internal timing generator and outputting an internal timing signal based on the first signal, the scan enable signal, and the clock signal, receiving the internal timing signal, the scan enable signal, a first timing signal, and a second input signal in a dynamic input unit, and outputting a first output corresponding to one of the first input signal and the second input signal based on a status of the scan enable signal.
The dynamic input unit may include a first NMOS, at least one second NMOS connected parallel to the first NMOS, a third NMOS connected in series with the first and second NMOS, and a fourth NMOS connected in series with the third NMOS. The first through fourth NMOS transistors may be connected between the first output signal at one end and ground at the other end, and the method may further include receiving the scan enable signal as a gate input of the first NMOS transistor, receiving the second input signal as a gate input of the second NMOS transistor, receiving the first timing signal as a gate input of the third NMOS transistor, and receiving the internal timing signal as a gate input of the fourth NMOS transistor.
The internal timing signal may be a pulse signal, and the method may further include generating the pulse signal with the internal timing generator based on each of the clock signal, the scan enable signal, and the first input signal. The internal timing generator may include a first NOR logic gate and a second NOR gate, and the method may further include receiving the first input signal and the scan enable signal at the first NOR logic gate, outputting an intermediate signal from the first NOR logic gate based on the first input signal and the scan enable signal, receiving a delayed clock signal and the intermediate signal at the second NOR gate, and outputting the internal timing signal from the second NOR gate based on the delayed clock signal and the intermediate signal.
The internal timing generator may include a first NAND logic gate, a second NAND logic gate, and a third NAND logic gate, and the method further includes receiving the first input signal and the scan enable signal at the first NAND logic gate and outputting a first intermediate signal from the first NAND logic gate, receiving a delayed clock signal and the first intermediate signal at the second NAND logic gate and outputting a second intermediate signal from the second NAND logic gate, and receiving the second intermediate signal and the first output signal at the third NAND logic gate and outputting the internal timing signal from the third NAND logic gate.
The internal timing generator may include a first NAND logic gate, a transmission gate, a PMOS transistor, and an inverter, and the method may further include receiving the first input signal and the scan enable signal at the first NAND logic gate and outputting a first intermediate signal from the first NAND logic gate, receiving the first intermediate signal and a delayed clock signal as inputs to the transmission gate and outputting a second intermediate signal from the transmission gate to a first electrical node, pre-charging the first electrical node with the PMOS transistor, and receiving the second intermediate signal as an input of the inverter and outputting the internal timing signal as an output of the inverter.
The internal timing generator may include first and second NAND logic gates, and first and second inverters, and the method may further include receiving into the first NAND logic gate the first input signal and the scan enable signal and outputting a first intermediate signal from the first NAND logic gate, receiving into the first inverter the clock signal and outputting a delayed clock signal from the first inverter, receiving into the second NAND gate the delayed clock signal and the first intermediate signal and outputting a second intermediate signal from the second NAND gate, and receiving into a second inverter the second intermediate signal and outputting the internal timing signal from the second inverter.
The internal timing generator may include a first NAND logic gate, a second NAND logic gate, and an inverter, and the method may further include receiving into the first NAND logic gate the first input signal and the scan enable signal and outputting a first intermediate signal from the first NAND logic gate, receiving into the second NAND logic gate a delayed clock signal and the first intermediate signal and outputting a second intermediate signal from the second NAND logic gate, and receiving into the inverter the second intermediate signal and outputting the internal timing signal from the inverter. The static output unit may include a first latch and a second latch, and the method may further include receiving into the first output latch a signal from the electrical node corresponding to the output of the logic circuit, outputting from the first latch a signal corresponding to the signal received from the electrical node signal, and receiving into the second output latch the signal from the electrical node and a timing signal, and outputting from the second latch an output signal.
›SUMMARY · 3 of 3
The second output latch may include first, second, and third NMOS transistors connected in series between power and ground and two inverters connected input-to-output, and the method may further include receiving as gate inputs into the first and third NMOS transistors the signal from the electrical node, receiving as a gate input into the second NMOS transistor the timing signal, receiving as an input into a first input-to-output connection of the two inverters an output from a drain of the first NMOS transistor and a source of the second NMOS transistor, and outputting an output signal from a second input-to-output connection of the two inverters.
›BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings are included to provide a further understanding of the general inventive concept, and are incorporated in and constitute a part of this specification. The drawings illustrate exemplary embodiments of the general inventive concept and, together with the description, serve to explain principles of the general inventive concept.
FIG. 1 illustrates a block diagram of flip-flops and circuit logic having scan functionality.
FIG. 2 illustrates a block diagram of a semi-dynamic MUX flip-flops and circuit logic having scan functionality.
FIG. 3 illustrates a block diagram of a dynamic flip-flop circuit according to an embodiment of the present general inventive concept.
FIGS. 4A-4C illustrate a semi-dynamic flip-flops according to embodiments of the present general inventive concept.
FIGS. 5A-5D illustrate clock generators according to embodiments of the present general inventive concept.
FIG. 6 illustrates a semi-dynamic flip-flop circuit according to an embodiment of the present general inventive concept.
FIG. 7 illustrates a logic circuit including a semi-dynamic flip-flop circuit according to an embodiment of the present general inventive concept.
FIG. 8 illustrates a computing device according to the embodiments of present general inventive concept.
›DETAILED DESCRIPTION OF THE EMBODIMENTS · 1 of 4
Preferred embodiments of the general inventive concept will be described below in more detail with reference to the accompanying drawings. The embodiments of the general inventive concept may, however, be embodied in different forms and should not be constructed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the general inventive concept to those skilled in the art. Like numbers refer to like elements throughout.
An example of a scan-capable flip-flop circuit is illustrated in FIG. 1 .
A plurality of MUX flip-flop registers 120 are connected in series. The flip-flops 120 a and 120 b have inputs D and outputs Q connected to circuit logic CL 1 , CL 2 , and CL 3 . The circuit logic CL 1 located at an input of the first flip-flop 120 a receives data in and outputs an output signal to the input D of the flip-flop 120 a that corresponds to the input data and the circuit logic CL 1 . The second circuit logic CL 2 receives an input from the output Q of the first flip-flop 120 a and outputs data to an input D of the second flip-flop 120 b . The third circuit logic CL 3 receives as an input the output Q of the second flip-flop 120 b and outputs data. Although two flip-flops and three circuit logic portions are illustrated, a scan-function chain of circuit logic and flip-flops may include any number of flip-flops and circuit logic portions.
Each flip-flop 120 a and 120 b can include a normal input D, an output Q, a scan input SI, a scan enable input SE, and a clock input CLK. During normal operation, the SE signal is disabled, and the flip-flops 120 a and 120 b operate normally by receiving data as input and outputting data that has passed through the logic circuit. During a test or scan operation, the scan enable SE is asserted, and a predetermined scan input SI signal level is applied to the first flip-flop 120 a of the series. Since the scan input signal SI is a predetermined signal, the scan output signal SO can be predicted, and it can be determined whether any faults exist in the flip-flops 120 a and 120 b in the scan-function chain without taking into account any intervening circuit logic. In other words, the scan function allows testing of the flip-flops 120 a and 120 b without testing the circuit logic CL 1 , CL 2 , and CL 3 .
FIG. 2 illustrates in further detail the MUX flip-flops 120 of FIG. 1 . Each flip-flop circuit 120 a , 120 b , and 120 c includes a MUX 121 a , 121 b , and 121 c , and a flip-flop 122 a , 122 b , and 122 c . When the scan enable signal SE is not asserted, the input signal D is output to the input of the flip flop 122 a , 122 b , and 122 c , respectively. On the other hand, when the scan enable signal SE is asserted, the value of the scan input signal SI is output to the input of the flip-flop 122 a , 122 b , and 122 c , respectively. Since the scan input signal SI is connected to an output Q of each flip-flop 122 a and 122 b before the output signal Q is input into the next circuit logic CL 1 and CL 2 , the scan function analyzes values of the flip-flops 122 a , 122 b , and 122 c without analyzing the circuit logic CL 1 and CL 2 . Thus, the scan function of a series of flip-flops with intervening circuit logic may be used to test only the flip-flops, and not the circuit logic.
FIG. 3 illustrates a block diagram of a semi-dynamic flip-flop according to an embodiment of the present general inventive concept. The semi-dynamic flip-flop 200 includes an internal clock generator 210 to receive the scan enable signal SE, scan input signal SI, and a system clock signal CLK, and to output an internal clock signal ICLK. The internal clock signal ICLK may be a pulse signal. The internal clock signal ICLK, the clock signal CLK, a data signal DATA, and the scan enable signal SE are input into a dynamic input circuit 220 capable of dynamically analyzing the input data DATA. The dynamic input circuit 220 generates an intermediate signal IS that is fed into a static output circuit 230 , such as a latch. The static output circuit 230 also receives the clock signal CLK and outputs an output signal Q, or an inverse output signal QN, based on the intermediate signal IS at a time corresponding to a change in a clock value.
FIG. 4A illustrates in more detail the semi-dynamic flip-flop circuit 200 having a scan function according to an embodiment of the present general inventive concept. The circuit 200 may include an internal clock generator 210 to generate the internal clock signal ICLK, a dynamic input circuit 220 having a MUX function to select between a scan function and a flip-flop function, a pre-charge circuit 240 to pre-charge a node N 1 , a first latch 250 to latch a value of the node N 1 , and a static output circuit 230 to latch and maintain a value of the node N 1 .
The delayed clock generator 210 may receive as inputs a clock signal CLK, a scan enable signal SE, and a scan input signal SI. The scan input signal SI may have a delay smaller than a delay of the input signal D, because the scan input signal SI may propagate through a non-critical path and the input signal D may propagate through a critical path, and the critical path may have gate delays greater than the non-critical path. When a clock signal CLK is low, transistor M 0 is enabled, and a power signal is supplied to the node N 1 to pre-charge the node at a high level. Regardless of a value of the transistors M 2 and M 3 , the transistor M 4 is turned off, so the node N 1 is maintained at the high level. In addition, since transistors M 5 and M 6 of the static output circuit 230 are also turned off, the value of the output Q is maintained at the same level during a negative or low portion of a clock cycle. In other words, if the value of the output Q was high at the end of the clock high signal, the output Q stays high during the clock low signal. Conversely, if the output Q is low at the end of the clock high signal, then the output Q stays low during the clock low signal.
›DETAILED DESCRIPTION OF THE EMBODIMENTS · 2 of 4
When the clock signal CLK is high, the output Q of the semi-dynamic flip-flop circuit 200 may depend on a value of a scan enable signal SE and a flip-flop input signal D. If the scan enable signal SE is high, then the scan function is enabled, and the output depends on the value of the scan input signal SI that is input to the delayed clock generator 210 . Transistors M 2 and M 4 are turned on, since the scan enable signal SE is high and the clock signal CLK is high. If the scan input signal SI causes the internal clock signal ICLK to be driven high, then transistor M 1 is turned on and node N 1 is driven low, since a path exists between the node N 1 and ground. Output transistors M 5 and M 6 are turned on, and transistor M 7 is turned off, so power is supplied to the output Q via transistor M 5 , and the output Q is driven high.
On the other hand, if the scan input signal SI causes the internal clock signal ICLK to be driven low, transistor M 1 is turned off and node N 1 is maintained at a high level. Consequently, output transistor M 5 is turned off and transistors M 6 and M 7 are turned on, driving the output Q low.
If the scan enable signal SE is driven low, then the internal clock generator ICLK may drive the transistor M 1 high during a high portion of a clock signal CLK, and the output Q may depend upon the value of the input signal D. If the input signal D is high, then transistor M 3 is turned on, node N 1 is driven low, and output Q is driven high. If the input signal D is low, then node N 1 is maintained high, and the output Q is driven low. The output Q is maintained at the value of the input signal D when the clock signal is low. In other words, whatever the value of the input signal D when the clock low portion of the clock signal begins is the value that is maintained by the output signal Q.
FIG. 4B illustrates a semi-dynamic flip-flop circuit 300 according to another embodiment of the present general inventive concept. The semi-dynamic flip-flop circuit 300 of FIG. 4B is similar to that of FIG. 4A , except the transistor M 1 is positioned between the node N 1 and the logic circuit 325 . The internal clock generator 310 , the dynamic input circuit 320 , and the static output circuit 330 function similarly to those of FIG. 4A and will not be described in further detail.
FIG. 4C illustrates a scan-enabled logic gate circuit 400 according to another embodiment of the present general inventive concept. The circuit 400 of FIG. 4C is similar to the circuits 200 and 300 of FIGS. 4A and 4B , except instead of an input D, the circuit 400 of FIG. 4C includes a complex logic gate circuit 425 . The circuit 400 of FIG. 4C operates in a manner similar to that of FIG. 4A . During a scan function, the output Q of the circuit 400 outputs the scan input SI value. However, during normal operation, instead of operating as a flip-flop to output a value of an input D, the circuit 500 analyzes the logic input transistors M 3 a , M 3 b , M 3 c , and M 3 d to determine an output value. For example, FIG. 4C illustrates four NMOS transistors M 3 a , M 3 b , M 3 c , and M 3 d , each receiving a separate input signal. If both of transistors M 3 a and M 3 c are turned on, then the node N 1 may be driven low, and the output Q may be driven high. Similarly, if both of transistors M 3 b and M 3 d are turned on, then the output Q may be driven high. Thus, transistors M 3 a and M 3 c may serve as a first AND gate, transistors M 3 b and M 3 d may serve as a second AND gate, and the transistor pairs in parallel may serve to OR the two AND gates.
Although an example is illustrated having four NMOS transistors to form a logic circuit, any number of transistors may be used to generate any desired logical function. The internal clock generator 410 , the dynamic input circuit 420 , and the static output circuit 430 function similarly to those of FIG. 4A and will not be described in further detail.
FIGS. 5A-5D illustrate internal clock generator circuits according to the present general inventive concept. In FIG. 5A , the internal clock generator circuit 210 a includes a buffer including two inverters I 5 and I 6 , and two NOR gates, I 7 and I 8 . A clock signal CLK is input into a buffer including inverters I 5 and I 6 to delay the clock signal. An inverse scan enable signal SEN and a scan input signal SI are input into a NOR gate I 7 , and the delayed clock signal and the output of the NOR gate I 7 are input into a NOR gate I 8 , which outputs the internal clock signal ICLK.
When scan enable SE is asserted, the inverse scan enable signal SEN is low, and the NOR gate I 7 outputs a high signal only when the scan input signal SI is also low. If the inverse scan enable signal SEN is low and scan input SI is high, then the NOR gate I 7 outputs a low signal. During a scan function, when scan enable SE is asserted, or high, transistor M 3 is turned on, transistor M 4 is turned on during a clock CLK high, and the transistor M 1 is turned on for a duration of a high clock signal that is delayed from the clock signal CLK. In other words, if SI is high, then M 1 turns on for a predetermined period of time after transistor M 4 turns on. The node N 1 is driven low, and the output Q is driven high. When the clock signal CLK goes low, the static output transistor M 6 is turned off, and the output value Q is maintained high while the node N 1 is pre-charged.
On the other hand, if SE is high and SI is low during a clock CLK high state, then transistor M 1 is turned off, node N 1 is maintained high, and output Q is driven low. When the clock CLK state changes to low, transistor M 6 is turned off, and output Q is maintained at a high state.
When the scan function is disabled by driving the scan enable signal SE low, transistor M 3 is turned off. Thus, transistor M 2 , which receives input D, changes the state of the output Q. In addition, since the inverse scan enable signal SEN is high, the output of the NOR gate I 7 remains low and the output of the NOR gate I 8 changes to correspond only to the state of the delayed clock signal. As a result, transistor M 1 is turned on after the clock signal CLK goes high, but before it goes back to a low state. When D is high, transistor M 2 is turned on, and the node N 1 is driven low. As a result, the output Q is driven high, and when the clock signal CLK goes low, the output Q is maintained at a high state.
›DETAILED DESCRIPTION OF THE EMBODIMENTS · 3 of 4
When D is low, transistor M 2 is turned off, node N 1 remains high, and output Q is driven low. When the clock signal CLK goes low, static output transistors M 5 and M 6 are turned off, and the output Q is maintained low.
FIG. 5B illustrates an internal clock generation circuit 210 b according to another embodiment of the present general inventive concept. In the internal clock generation circuit 210 b of FIG. 5B , a scan enable signal SE and an inverse scan input signal SIN are input to a NAND gate I 9 . A clock signal CLK is input into an inverter I 5 and the inverse and delayed clock signal and the output of the NAND gate I 9 are input into another NAND gate I 10 . A NAND gate I 11 receives an input from the NAND gate I 10 and the node N 1 and outputs the internal clock signal ICLK.
During a scan enable function, SE is high, and transistor M 3 is turned on. If SI is high, or SIN is low, NAND gate I 9 outputs a high signal. NAND gate I 10 outputs a low signal when the clock signal CLK is also low so that the signal output from the inverter I 5 is high. When NAND gate I 10 outputs a low signal, NAND gate I 11 outputs a high internal clock signal ICLK, and transistor M 1 is turned on. Consequently, node N 1 is driven low and output Q is driven high.
If SI is low, and SIN is high, NAND gate I 9 outputs a low signal, and NAND gate I 10 outputs a high signal regardless of the CLK state. Since node N 1 is pre-charged during a low clock state, NAND gate I 11 outputs a low signal and M 1 is turned off during the low clock state. When the clock state goes high, since M 1 is still in a turned-off state, node N 1 remains high, and output Q is driven low.
If the scan function is disabled, and the scan enable signal SE is low, transistor M 3 is turned off. NAND gate I 9 outputs a high signal regardless of the state of SI, and NAND gate I 10 outputs a signal that corresponds to the inverse clock signal output from the inverter I 5 . Thus, if input signal D is high, transistor M 2 is turned on, node 1 is driven low, and output Q is driven high. On the other hand, if input D is low, transistor M 2 is turned off, node N 1 remains in a high state based on its pre-charge level, and output Q is driven low.
FIG. 5C illustrates another embodiment of an internal clock generator circuit 210 c according to the present general inventive concept. The internal clock generator circuit 210 c is similar to the internal clock generator circuit 210 b of FIG. 5B , except the NAND gate I 11 of FIG. 5B is replaced by an inverter I 12 . The inverter receives as an input the output of the NAND gate I 10 .
During a scan enable function, SE is high, and transistor M 3 is turned on. If SI is high, or SIN is low, NAND gate I 9 outputs a high signal. NAND gate I 10 outputs a low signal when the clock signal CLK is also low so that the signal output from the inverter I 5 is high. When NAND gate I 10 outputs a low signal, the inverter I 12 outputs a high internal clock signal ICLK, and transistor M 1 is turned on. Consequently, node N 1 is driven low and output Q is driven high.
If SI is low, and SIN is high, NAND gate 19 outputs a low signal, and NAND gate I 10 outputs a high signal regardless of the CLK state. Inverter I 12 outputs a low signal and M 1 is turned off. When the clock state goes high and transistor M 4 is turned on, since M 1 is still in a turned-off state, node N 1 remains high, and output Q is driven low.
If the scan function is disabled, and the scan enable signal SE is low, transistor M 3 is turned off. NAND gate I 9 outputs a high signal regardless of the state of SI, and NAND gate I 10 outputs a signal that corresponds to the inverse clock signal output from the inverter I 5 . Thus, if input signal D is high, transistor M 2 is turned on, node 1 is driven low, and output Q is driven high. On the other hand, if input D is low, transistor M 2 is turned off, node N 1 remains in a high state based on its pre-charge level, and output Q is driven low.
FIG. 5D illustrates an internal clock generator 210 d according to another embodiment of the present general inventive concept. The internal clock generator 210 d includes a pass gate I 14 to pass a delayed clock signal when at least one of the scan enable signal SE and the inverse scan input signal SIN is low. On the other hand, when the scan function is enabled and the inverse scan input signal SIN is high, NAND gate I 9 outputs a low signal, transistor M 8 is turned on, and the internal clock signal ICLK is driven low. Thus, transistor M 1 is turned off, node N 1 is maintained at a high state, and the output Q is driven low.
By generating a delayed clock signal to generate the internal clock signal ICLK in the embodiments of each of FIGS. 5A-5D , and by arranging two transistors in series having the ICLK and the CLK signals as gate inputs, respectively, each of the semi-dynamic flip-flop circuits of FIGS. 5A-5D generate implicit pulse signals. In other words, the period of time during which both the clock signal CLK and the ICLK signal based on the delayed clock signal are in the high state may act as a pulse, or a period of time less than that of the full high state of the clock signal CLK to analyze the inputs of the semi-dynamic flip-flop circuits.
FIG. 6 illustrates a circuit diagram of a semi-dynamic flip-flop circuit 500 according to another embodiment of the present general inventive concept. The semi-dynamic flip-flop circuit 500 is similar to the circuit illustrated in FIG. 4B . The internal clock generating circuit 510 a first inverter I 16 , a first NAND gate I 17 to receive a scan enable signal SE and an inverse scan input signal SIN, a second NAND gate I 18 to receive the output from the first inverter I 16 and the first NAND gate I 17 , and a third NAND gate I 19 to receive an output of the second NAND gate I 18 and having a second input connected to a node N 1 .
When the scan enable signal SE is high, the scan function may be enabled. When the scan function is enabled, the output of the semi-dynamic output circuit 500 varies according to the inverse scan input signal SIN. For example, if the scan enable signal SE is high and the scan input signal SIN is also high, then the NAND gate I 17 is driven low, the NAND gate I 18 is driven high, and the transistor M 1 is turned off, because the pre-charged node N 1 stays at a high level. Consequently, the output Q is driven low to correspond to the SI signal (i.e. the inverse of the SIN signal).
›DETAILED DESCRIPTION OF THE EMBODIMENTS · 4 of 4
If, on the other hand the scan enable signal SE is high, but the scan input signal SIN is low (i.e. SI is high), then the NAND gate I 17 is driven high, and the NAND gate I 18 outputs a low signal at each high clock signal CLK. Consequently, transistor M 3 is turned on, node N 1 is driven low, and the output Q is driven high to correspond to the SI signal.
When the scan function is disabled, the semi-dynamic flip-flop circuit 500 may operate as a flip-flop in which the output Q is determined by the input signal D. With the scan enable signal SE low, the NAND gate I 18 is driven low with each low clock signal CLK and high with each high clock signal. The output of the NAND gate I 18 is a delayed clock signal. Consequently, immediately after the clock signal CLK switches to a high state, the delayed clock signal remains low for a brief period of time to generate an ICLK pulse. When the clock CLK goes high, transistor M 3 is turned on for the period of the pulse of the ICLK signal. If D is high, then the node N 1 is driven low, which in turn drives the NAND gate I 19 low after the ICLK pulse is over, which in turn maintains the node N 1 low during a duration of the high clock state. When the node N 1 is driven low, the output Q is driven high, corresponding to the input value D.
When D is low, then when the transistor M 3 is turned on during the ICLK pulse, transistors M 2 and M 3 are turned off, and the node N 1 is maintained high. Consequently, the output Q is driven low.
The semi-dynamic flip-flop circuits of the present general inventive concept may utilize fewer NMOS and PMOS transistors than conventional semi-dynamic flip-flop circuits by generating an internal clock signal using a scan enable signal, a scan input signal, and a delayed clock signal. As a result of utilizing fewer transistors, a data capture time of the flip-flop may be improved. In addition, an area necessary to implement the circuit is minimized, a D-Q delay is minimized, and an SI hold time is minimized.
FIG. 7 illustrates a logic circuit 600 including a semi-dynamic flip-flop circuit according to an embodiment of the present general inventive concept. The logic circuit 600 may be a signal semiconductor chip, such as an ASIC chip, or may include a plurality of separate chips connected on a substrate or a circuit board. The semi-dynamic flip-flop circuit having a scan function may be similar to those illustrated in FIGS. 1 and 2 . In other words, the logic circuit 600 may include a plurality of circuit logic elements 610 and 630 , each separated by a semi-dynamic flip-flop circuit 620 . The logic circuit 600 may receive as inputs data inputs, a scan input signal SI, a scan enable signal SE, and a clock signal CLK. The logic circuit 600 may include data outputs and a scan output signal SO.
As described above, when the logic circuit 600 is used to perform a scan operation, the scan enable signal SE may be driven high, the scan input signal SI may be driven high or low, and the scan output signal SO may be analyzed to determine the results of the scan function. When the logic circuits 610 and 630 are to be utilized without a scan function, the scan enable signal SE may be driven low, and the data out may be analyzed.
The logic circuit 600 of FIG. 7 may be implemented in a computing device 800 , as illustrated in FIG. 8 . The computing device may include an interface 810 to interface with an external device or a user, a data memory 820 to store data, a logic unit 830 which may correspond to the logic circuit 600 of FIG. 7 , and a controller 840 to control operation of each of the functional units of the computing device.
In operation, an external device or a user may input commands to direct the controller 840 to either analyze the logic of the logic unit 830 or to perform a scan function of the logic unit 830 . When the scan function is performed, the controller 840 may read the scan output data and may output the results of the scan to the interface 810 via a data port or a display, for example. Alternatively, the controller may be pre-programmed to perform a specific function based on the results of the scan, such as identifying and isolating faulty flip-flops or logic blocks.
Although a few embodiments of the present general inventive concept have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the general inventive concept, the scope of which is defined in the claims and their equivalents.
Claims as granted
34 claimsLog in to read the claims of this application.
Log in to unlockClassifications
5 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