Low-area low clock-power flip-flop
09755618 · 2017-09-05
Assignee
Inventors
- Seid Hadi Rasouli (San Diego, CA, US)
- Xiangdong Chen (San Diego, CA, US)
- Venugopal Boynapalli (San Marcos, CA, US)
Cpc classification
H03K3/012
ELECTRICITY
International classification
Abstract
In one example, the apparatus includes a first AND gate, a second AND gate, a first NOR gate, a second NOR gate, a third NOR gate, a first inverter, and a second inverter. The first AND gate output is coupled to the first NOR gate first input. The first NOR gate output is coupled to the second NOR gate first input. The second NOR gate output is coupled to the first NOR gate second input. The first inverter output is coupled to the first AND gate second input and the second NOR gate second input. The second AND gate first input is coupled to the first inverter output. The third NOR gate first input is coupled to the second NOR gate output. The third NOR gate second input is coupled to the second AND gate output. The second inverter output is coupled to the second AND gate second input.
Claims
1. A flip-flop comprising: a first AND gate including a first AND gate first input, a first AND gate second input, and a first AND gate output, the first AND gate first input being a delay (d) input of the flip-flop; a first NOR gate including a first NOR gate first input, a first NOR gate second input, and a first NOR gate output, the first AND gate output coupled to the first NOR gate first input; a second NOR gate including a second NOR gate first input, a second NOR gate second input, and a second NOR gate output, the first NOR gate output coupled to the second NOR gate first input, the second NOR gate output coupled to the first NOR gate second input; a first inverter including a first inverter input and a first inverter output, the first inverter input configured to receive a clock signal, the first inverter output configured to output an inverted clock signal, the first inverter output coupled to the first AND gate second input and the second NOR gate second input; a second AND gate including a second AND gate first input, a second AND gate second input, and a second AND gate output, the second AND gate first input coupled to the first inverter output; a third NOR gate including a third NOR gate first input, a third NOR gate second input, and a third NOR gate output, the third NOR gate first input coupled to the second NOR gate output, the third NOR gate second input coupled to the second AND gate output; and a second inverter including a second inverter input and a second inverter output, the second inverter output coupled to the second AND gate second input.
2. The flip-flop of claim 1, the second inverter output being a q output of the flip-flop.
3. The flip-flop of claim 1, further comprising a third inverter including a third inverter input and a third inverter output, the third inverter output being a q output of the flip-flop.
4. The flip-flop of claim 1, further comprising a first NAND gate including a first NAND gate first input, a first NAND gate second input, and a first NAND gate output, the first NAND gate first input coupled to a scan input, the first NAND gate second input coupled to the second inverter output, the first NAND gate output being a scan output.
5. The flip-flop of claim 1, further comprising asynchronous set circuitry, the asynchronous set circuitry configured to set an output of the flip-flop asynchronously to the clock signal.
6. The flip-flop of claim 1, further comprising anti-glitch circuitry.
7. The flip-flop of claim 6, the anti-glitch circuitry including a first PMOS transistor coupled to a supply voltage and configured to supply current to a second PMOS transistor, the second PMOS transistor forming one of the second AND gate first or the second AND gate second input, the one of the second AND gate first or the second AND gate second input coupled to an inverted clock signal, the first PMOS transistor controlled by a version of an input to the flip-flop delayed through a pair of inverters.
8. A method of an AND-OR-Inverter (AOI) based flip-flop operation comprising: inputting a clock signal to the AOI based flip-flop; and inputting an input value to the AOI based flip-flop on a delay (d) input; the AOI based flip-flop including: a first AND gate including a first AND gate first input, a first AND gate second input, and a first AND gate output, the first AND gate first input being the d input of the AOI based flip-flop; a first NOR gate including a first NOR gate first input, a first NOR gate second input, and a first NOR gate output, the first AND gate output coupled to the first NOR gate first input; a second NOR gate including a second NOR gate first input, a second NOR gate second input, and a second NOR gate output, the first NOR gate output coupled to the second NOR gate first input, the second NOR gate output coupled to the first NOR gate second input; a first inverter including a first inverter input and a first inverter output, the clock signal coupled to the first inverter input, an inverted clock signal output from the first inverter output, the first inverter output coupled to the first AND gate second input and the second NOR gate second input; a second AND gate including a second AND gate first input, a second AND gate second input, and a second AND gate output, the second AND gate first input coupled to the first inverter output; a third NOR gate including a third NOR gate first input, a third NOR gate second input, and a third NOR gate output, the third NOR gate first input coupled to the second NOR gate output, the third NOR gate second input coupled to the second AND gate output; and a second inverter including a second inverter input and a second inverter output, the second inverter output coupled to the second AND gate second input.
9. The method of claim 8, wherein the second inverter output being a q output of the AOI based flip-flop.
10. The method of claim 8, wherein the AOI based flip-flop further comprises a third inverter including a third inverter input and a third inverter output, the third inverter output being a q output of the AOI based flip-flop.
11. The method of claim 8, wherein the AOI based flip-flop further comprises a first NAND gate including a first NAND gate first input, a first NAND gate second input, and a first NAND gate output, the first NAND gate first input coupled to a scan input, the first NAND gate second input coupled to the second inverter output, the first NAND gate output being a scan output.
12. The method of claim 8, further comprising asynchronously setting the AOI based flip-flop asynchronous to the clock signal.
13. The method of claim 8, wherein the AOI based flip-flop further comprises anti-glitch circuitry.
14. An AOI based flip-flop comprising: means for inputting a clock signal to the AOI based flip-flop; and means for inputting an input value to the AOI based flip-flop on a delay (d) input; the AOI based flip-flop including: a first AND gate including a first AND gate first input, a first AND gate second input, and a first AND gate output, the first AND gate first input being the d input of the AOI based flip-flop; a first NOR gate including a first NOR gate first input, a first NOR gate second input, and a first NOR gate output, the first AND gate output coupled to the first NOR gate first input; a second NOR gate including a second NOR gate first input, a second NOR gate second input, and a second NOR gate output, the first NOR gate output coupled to the second NOR gate first input, the second NOR gate output coupled to the first NOR gate second input; a first inverter including a first inverter input and a first inverter output, the clock signal coupled to the first inverter input, an inverted clock signal output from the first inverter output, the first inverter output coupled to the first AND gate second input and the second NOR gate second input; a second AND gate including a second AND gate first input, a second AND gate second input, and a second AND gate output, the second AND gate first input coupled to the first inverter output; a third NOR gate including a third NOR gate first input, a third NOR gate second input, and a third NOR gate output, the third NOR gate first input coupled to the second NOR gate output, the third NOR gate second input coupled to the second AND gate output; and a second inverter including a second inverter input and a second inverter output, the second inverter output coupled to the second AND gate second input.
15. The AOI based flip-flop of claim 14, wherein the second inverter output being a q output of the AOI based flip-flop.
16. The AOI based flip-flop of claim 14, wherein the AOI based flip-flop further comprises a third inverter including a third inverter input and a third inverter output, the third inverter output being a q output of the AOI based flip-flop.
17. The AOI based flip-flop of claim 14, wherein the AOI based flip-flop further comprises a first NAND gate including a first NAND gate first input, a first NAND gate second input, and a first NAND gate output, the first NAND gate first input coupled to a scan input, the first NAND gate second input coupled to the second inverter output, the first NAND gate output being a scan output.
18. The AOI based flip-flop of claim 14, further comprising means for asynchronously setting the AOI based flip-flop asynchronous to the clock signal.
19. The AOI based flip-flop of claim 14, wherein the AOI based flip-flop further comprises anti-glitch circuitry.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
DETAILED DESCRIPTION
(7) The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well-known structures and components are shown in block diagram form in order to avoid obscuring such concepts.
(8) An example flip-flop design may use an AND-OR-Inverter (AOI) structure. More particularly, the example flip-flop design in
(9)
(10)
(11) The flip-flop 100 of
(12) At time t.sub.1, the d input to the flip-flop 100 begins to rise in the example illustrated in
(13) At time t.sub.4, the clock signal begins to rise. Depending on how long and1 takes to change states, it may be continuing to rise, as illustrated in
(14) At time t.sub.6, the clk signal is high and the nclk signal is falling. Additionally, the flip-flop 100 will have begun to clock in the high logical value on the d input. At time t.sub.6, net0 continues to fall based on the change of and1 to high. At time t7, net0 is 0. The and1 signal begins to fall based on the nclk signal being low. The net′ signal will begin to rise because nclk and net0 are both low.
(15) It will be understood that in the illustrated example of
(16) At time t.sub.8, the and1 signal continues to fall, and the net1 signal continues to rise. These changes, i.e., the and1 signal beginning to fall and the net1 signal beginning to rise, are both based on the falling edge of the nclk signal at time t.sub.5. At time t.sub.9, the pn4 signal begin to fall. At time t.sub.10, the pn4 signal continues to fall. At time t.sub.11 the pn4 signal is low. After a delay, at time t.sub.11, the net2 signal begins to rise because the pn4 signal was low at time t.sub.10. At time t.sub.12 the net2 signal is high. At time t.sub.13 the clk signal begins to fall. After a delay, at time t.sub.14, the nclk signal begins to rise. At time t.sub.15, the clk signal is low. The nclk signal continues to rise.
(17) At time t.sub.16, the and1 signal begins to rise because the d input is high and the nclk signal is high. Additionally, at time t.sub.16, the nclk signal is high. Accordingly, after a slight delay through the NOR gate 104, at time t.sub.17, net1 begins to fall. At time t.sub.17, the and1 signal begins to rise because the nclk signal is high and the d input is high. The net1 signal begins to fall because the nclk signal is now high. Additionally, the and2 signal begins to rise because the net2 signal is high and the nclk signal is high. The and1 signal is high at time t.sub.18. The and2 signal is high and net1 is low at t.sub.19. At time t.sub.20, the d input begins to fall. At time t.sub.21 the and1 signal begins to fall because the d input had a falling edge at time t.sub.19.
(18) At time t.sub.22 the d input is low and the and1 signal is low based on the d input being low. The net0 signal begins to rise after a small delay based on the and1 signal being low. Additionally, just after time t.sub.22, the clk signal begins to rise. At time t.sub.23, the clk signal continues to rise, the nclk signal begins to fall, and net0 continues to rise. At time t.sub.24 the clk signal is high, and nclk continues to fall. At time t.sub.25, the and2 signal begins to fall based because nclk is low. At time t.sub.26, the and2 signal is low. At time t.sub.27 the pn4 signal begins to rise. At time t.sub.28 pn4 is high. At time t.sub.29 the net2 signal begins to fall. At time t.sub.30 the net2 signal is low.
(19) As illustrated in
(20) An example truth table for the d flip-flop is:
(21) TABLE-US-00001 Clock D Qnext Rising edge 0 0 Rising edge 1 1 Non-Rising X Q
(22)
(23) The flip-flop 200 includes a scan input (sin) for a scan mode and a data input for a functional mode. When the shift signal is low (and the nshift signal is high) the data input is enabled and the scan input is disabled. Conversely, when the shift signal is high (and the nshift signal is low) scan input is enabled and the data input is disabled. The scan mode may be used for testing the circuitry of flip-flop 200. During scan mode the inverse of the pn4 signal may be output through NAND gate 252 on the scan out (sout) signal line. Sout is disabled (held low) during a functional mode.
(24) The first AOI circuit structure 260 includes transistors to form an AND gate/NOR gate structure. (The OR-Inverter portion of the AOI structure may be formed by a NOR gate.) The first AOI circuit structure 260 also includes various shift circuitry, which functions as a multiplexer for selecting between the data input or the scan input. Similarly, the second AOI circuit structure 262 also includes transistors to form an AND gate/NOR gate structure. The second AOI circuit structure 262 does not include any shift circuitry, and accordingly, has fewer transistors when compared to the first AOI circuit structure 260. The flip-flop 200 also includes the NOR gate structure 264. The circuitry illustrated in
(25) As illustrated in
(26) The AND-OR-Inverter function may be combined so that the first AOI circuit structure 260 does not include each transistor that would be required for an individual AND gate, an individual OR gate, and an individual inverter. For example, instead of connecting an output of a group of transistors forming an AND gate (e.g., AND gate 108 of
(27) The first AOI circuit structure 260 includes the function of the AND gate 108, generally formed by the PMOS transistors 208, 224 and the NMOS transistors 212, 220. Additionally, the first AOI circuit structure 260 includes the function of the NOR gate 106. The NOR gate 106 may provide the OR functionality and the inverter functionality. The NOR gate 106 is generally formed by the PMOS transistors 202, 208, 224, and the NMOS transistors 212, 220, 230. The PMOS transistor 202 and the NMOS transistor 230 provide the pn2 signal input to the NOR gate 106. The PMOS transistors 208, 224, and the NMOS transistors 212, 220, which generate the AND function, provide the other input to the NOR gate. (The PMOS transistors 204, 206, 210 and the NMOS transistors 214, 216, 218 provide for the scan-input and multiplexer functionality as discussed above.)
(28) Assuming the shift input is low, the flip-flop 200 functions as a d flip-flop with the d input signal as the input to the flip-flop 200. When the shift signal is low and the nshift signal is high, the PMOS transistor 210 and the NMOS transistor 214 are both off, and no current may flow through the PMOS transistors 206, 210 and the NMOS transistors 214, 218. The PMOS transistor 204 and the NMOS transistor 216 are both on, and current may flow through the PMOS transistors 202, 204, 208 and the NMOS transistors 212, 216, 220, depending on the inputs to the PMOS transistors 202, 208 and the NMOS transistors 220, 212, i.e., the pn2 signal and the d input, respectively. Accordingly, when the shift input is low, the pn1 signal is a function of the d input to the flip-flop, the pn2 signal, and the nclk signal along with some feedback of the pn1 signal (as is also illustrated in the logic diagram illustrated in
(29) When the pn1 signal is high, pn1 will continue to be high whenever the nclk signal is low because the PMOS transistors 224, 226 are both on. The PMOS transistor 226 is on because the high pn1 signal is inverted by the inverter 222 coupled to the the PMOS transistor 226. The PMOS transistor 224 is on because the nclk signal is low.
(30) When the pn2 signal is low, the pn1 signal will be high when the d input is low. The pn1 signal will be high because the PMOS transistors 202, 204, 208 are on when the pn2 signal, the shift signal, and the d input are all low. The NMOS transistor 212 is off because the d input is low. (The PMOS transistor 210 and the NMOS transistor 214 are assumed to be off.) When the pn2 signal is low, the pn1 signal will be low when the d input is high, and the nclk signal is high because the PMOS transistors 202, 204, 208 are off with the pn2 signal high, the shift signal high, and the d input high, respectively. The NMOS transistors 212, 216, 220 are on because the d input is high, the nshift signal is high, and the nclk signal is high, respectively. When the pn2 signal is high, the pn1 signal will be low because the PMOS transistor 202 is off with the signal pn2 high and the NMOS transistor 230 is on with the pn2 signal high.
(31) As illustrated in
(32) When the pn2 signal is low, the pn1 signal will be low when the sin signal and the nclk signal are high because the PMOS transistors 202, 206, 210 are off with the pn2 signal high, the sin signal high, and the nshift signal high and the NMOS transistors 214, 218, 220 are on because the shift signal, the sin signal, and the nclk signal are all high. When the pn2 signal is high, the pn1 signal will be low because the PMOS transistor 202 is off and the NMOS transistor 230 is on.
(33) The second AOI circuit structure 262 includes PMOS transistors 236, 238, 240 and NMOS transistors 242, 244. The second AOI circuit structure 262 includes an AND gate generally formed by the PMOS transistor 238, 240 and the NMOS transistor 242. The AND gate in the second AOI circuit structure 262 also shares an NMOS transistor 220 with the first AOI circuit structure 260.
(34) Additionally, the second AOI circuit structure 262 includes a NOR gate that may provide the OR functionality and the inverter functionality. The NOR gate is generally formed by the PMOS transistor 236 and the NMOS transistor 244 for the net1/pn2 signal input to the NOR gate and the PMOS transistors 238, 240 and the NMOS transistors 242 which generate the AND function tied to the other input to the NOR gate.
(35) When the pn2 signal is low, the pn4 signal will be high when the nclk signal is low because the PMOS transistors 236, 238 will both be on. When the pn2 signal is low, the pn4 signal will also be high when net2 is low because the PMOS transistors 236, 240 will both be on. With the pn2 signal low, the NMOS transistor 244 will be off. With the net2 signal is low, the NMOS transistor 242 will be off. With the nclk signal is low, the NMOS transistor 220 will be off. Accordingly, pn4 will not be connected to Vcc and Vss at the same time. When the pn2 signal is high, the pn4 signal is low (Vss) because the NMOS transistor 244 is on. (The PMOS transistor 236 is off because pn2 is high.) The pn4 signal may also be pulled low through the NMOS transistors 242, 220, when both net2 and nclk are high. Accordingly, when the clk signal rises, a low value may be clocked into pn4 (corresponding to a high value at the q output and the net2 signal after a delay through the inverters 246, 248 respectively) when net2 starts out as a low value, allowing a high output to be clocked into q output of the flip-flop 200.
(36) The NOR gate structure 264 includes PMOS transistors 224, 226, 228 and NMOS transistors 232, 234. The NOR gate structure 264 may be NOR gate 104 of
(37) Additional circuitry in flip-flop 200 includes inverters 222, 250, 254, and NAND gate 252. The inverter 222 provides an inverted version of pn1 to PMOS transistor 226 that allows the pn1 signal to be pulled high through PMOS transistors 224, 226 as described above. The inverter 250 is used to generate the nshift (not shift) signal used to control the shift features of the flip-flop 200. When the shift signal is high, the pn4 signal may be output on the shift out (sout) signal using NAND gate 252. Additionally, the inverter 254 is used to generate the inverted version of the clk signal, nclk.
(38)
(39) The flip-flop 300 includes a scan input for a scan mode and a data input for a functional mode. When the shift signal is low (and the nshift signal is high) the data input is enabled and the scan input is disabled. Conversely, when the shift signal is high (and the nshift signal is low) scan input is enabled and the data input is disabled. The scan mode may be used for testing the circuitry of flip-flop 300. During scan mode the inverse of the pn4 signal may be output through NAND gate 352 on the scan out (sout) signal line. Sout is disabled (held low) during a functional mode.
(40) The first AOI circuit structure 360 includes transistors to form an AND gate/NOR gate structure. Similarly, the second AOI circuit structure 362 also includes transistors to form an AND gate/NOR gate structure. The second AOI circuit structure 362 does not include any shift circuitry, and accordingly, has fewer transistors when compared to the first AOI circuit structure 360. The flip-flop 300 also includes the NOR gate structure 364. The circuitry illustrated in
(41) As illustrated in
(42) The first AOI circuit structure 360 includes the function of the AND gate 108, generally formed by the PMOS transistors 308, 324 and the NMOS transistors 312, 320. Additionally, the first AOI circuit structure 360 includes the function of the NOR gate 106. The NOR gate 106 may provide the OR functionality and the inverter functionality. The NOR gate 106 is generally formed by the PMOS transistors 302, 308, 224, and the NMOS transistors 212, 220, 230. The PMOS transistor 302 and the NMOS transistor 330 provide the pn2 signal input to the NOR gate 106. The PMOS transistors 308, 324, and the NMOS transistors 312, 320, which generate the AND function, provide the other input to the NOR gate. (The PMOS transistors 304, 306, 310 and the NMOS transistors 314, 316, 318 provide for scan-input and multiplexer functionality as discussed above.)
(43) Assuming the shift input it low, the flip-flop 300 functions as a d flip-flop with the d input signal as the input to the flip-flop 300. When the shift signal is low, and the nshift signal is high, the PMOS transistor 310 and the NMOS transistor 314 are both off, and no current may flow through the PMOS transistors 306, 310 and the NMOS transistors 314, 318. The PMOS transistor 304 and the NMOS transistor 316 are both on, and current may flow through the PMOS transistors 302, 304, 308 and the NMOS transistors 312, 316, 320, depending on the inputs to the PMOS transistors 302, 308 and the NMOS transistors 320, 312, i.e., the pn2 signal and the d input, respectively. Accordingly, when the shift input is low, the pn1 signal is a function of the d input to the flip-flop, the pn2 signal, and the nclk signal along with some feedback of the pn1 signal (as is also illustrated in the logic diagram illustrated in
(44) When the pn1 signal is high, pn1 will continue to be high whenever the nclk signal is low because the PMOS transistors 324, 326 are both on. The PMOS transistor 326 is on because the high pn1 signal is inverted by the inverter 322 coupled to the transistor 326. The PMOS transistor 324 is on because the nclk signal is low.
(45) When the pn2 signal is low, the pn1 signal will be high when the d input is low. The pn1 signal will be high because the PMOS transistors 302, 304, 308 are on when the pn2 signal, the shift signal, and the d input are all low. The NMOS transistor 312 is off because the d input is low. (The PMOS transistor 310 and the NMOS transistor 314 are assumed to be off.) When the pn2 signal is low, the pn1 signal will be low when the d input is high, and the nclk signal is high because the PMOS transistors 302, 304, 308 are off with the pn2 signal high, the shift signal high, and the d input high, respectively. The NMOS transistors 312, 316, 320 are on because the d input is high, the nshift signal is high, and the nclk signal is high, respectively. (Again. the PMOS transistor 310 and the NMOS transistor 314 are assumed to be off.) When the pn2 signal is high, the pn1 signal will be low because the PMOS transistor 302 is off with the signal pn2 high and the NMOS transistor 330 is on with the pn2 signal high.
(46) As illustrated in
(47) When the pn2 signal is low, the pn1 signal will be low when the sin signal and the nclk signal are high because the PMOS transistors 302, 306, 310 are off with the pn2 signal high, the sin signal high, and the nshift signal high and the NMOS transistors 314, 318, 320 are on because the shift signal, the sin signal, and the nclk signal are all high. When the pn2 signal is high, the pn1 signal will be low because the PMOS transistor 302 is off and the NMOS transistor 330 is on.
(48) The second AOI circuit structure 362 includes PMOS transistors 336, 338, 340 and NMOS transistors 342, 344. The second AOI circuit structure 362 includes an AND gate generally formed by the PMOS transistor 338, 340 and the NMOS transistor 342. The AND gate in the second AOI circuit structure 362 also shares an NMOS transistor 320 with the first AOI circuit structure 360.
(49) Additionally, the second AOI circuit structure 362 includes a NOR gate that may provide the OR functionality and the inverter functionality. The NOR gate is generally formed by the PMOS transistor 336 and the NMOS transistor 344 for the net1/pn2 signal input to the NOR gate and the PMOS transistors 338, 340 and the NMOS transistors 342 which generate the AND function tied to the other input to the NOR gate.
(50) When the pn2 signal is low, the pn4 signal will be high when the nclk signal is low because the PMOS transistors 336, 338 will both be on. When the pn2 signal is low, the pn4 signal will also be high when net2 is low because the PMOS transistors 336, 340 will both be on. With the pn2 signal low, the NMOS transistor 344 will be off. With the net2 signal is low, the NMOS transistor 342 will be off. With the nclk signal is low, the NMOS transistor 320 will be off. Accordingly, pn4 will not be connected to Vcc and Vss at the same time. When the pn2 signal is high, the pn4 signal is low (Vss) because the NMOS transistor 344 is on. (The PMOS transistor 336 is off because pn2 is high.) The pn4 signal may also be pulled low through the NMOS transistors 342, 320, when both net2 and nclk are high. Accordingly, when the clk signal rises, a low value may be clocked into pn4 (corresponding to a high value at the q output and the net2 signal after a delay through the inverters 346, 348 respectively) when net2 starts out as a low value, allowing a high output to be clocked into q output of the flip-flop 300.
(51) The NOR gate structure 364 includes PMOS transistors 324, 326, 328, 356 and NMOS transistors 332, 334, 358. The NOR gate structure 364 may be NOR gate 104 of
(52) The NOR gate structure 364 is a two-input CMOS NOR gate including PMOS transistors 324, 328 and NMOS transistos 332, 334. A first input to the NOR gate structure is provided by PMOS transistor 328 and NMOS transistor 332, which are connected to the pn1 signal, as is one of the inputs of the NOR gate 104 of
(53) Additional circuitry in flip-flop 300 includes inverters 322, 350, 354, and NAND gate 352. The inverter 322 provides an inverted version of pn1 to PMOS transistor 326 that allows the pn1 signal to be pulled high through PMOS transistors 324, 326 as described above. The inverter 350 is used to generate the nshift (not shift) signal used to control the shift features of the flip-flop 300. When the shift signal is high, the pn4 signal may be output on the shift out (sout) signal using NAND gate 352. Additionally, the inverter 354 is used to generate the inverted version of the clk signal, nclk.
(54)
(55) The flip-flop 400 includes a scan input for a scan mode and a data input for a functional mode. When the shift signal is low (and the nshift signal is high) the data input is enabled and the scan input is disabled. Conversely, when the shift signal is high (and the nshift signal is low) scan input is enabled and the data input is disabled. The scan mode may be used for testing the circuitry of flip-flop 400. During scan mode the inverse of the pn4 signal may be output through NAND gate 452 on the scan out (sout) signal line. Sout is disabled (held low) during a functional mode.
(56) The first AOI circuit structure 460 includes transistors to form an AND gate/NOR gate structure. Similarly, the second AOI circuit structure 462 also includes transistors to form an AND gate/NOR gate structure. The flip-flop 400 also includes a NOR gate structure 464. The circuitry illustrated in
(57) As illustrated in
(58) The first AOI circuit structure 460 includes PMOS transistors 402, 404, 406, 408, 410, 424, 426 and NMOS transistors 412, 414, 416, 418, 420, 430. The second AOI circuit structure 462 includes PMOS transistors 436, 438, 440, 456 and NMOS transistors 442, 444. The NOR gate structure 464 includes PMOS transistors 424, 428 and NMOS transistors 432, 434. Additional circuitry in flip-flop 400 includes the inverters 422, 450, 454, and the NAND gate 452.
(59) The first AOI circuit structure 460 includes the function of the AND gate 108, generally formed by the PMOS transistors 408, 424. Additionally, the first AOI circuit structure 460 includes the function of the NOR gate 106. The NOR gate 106 may provide the OR functionality and the inverter functionality. The NOR gate 106 is generally formed by the PMOS transistors 402, 408, 424, and the NMOS transistors 412, 420, 430. The PMOS transistor 402 and the NMOS transistor 430 provide the pn2 signal input to the NOR gate 106. The PMOS transistors 408, 424, and the NMOS transistors 412, 220, which generate the AND function, provide the other input to the NOR gate. As (The PMOS transistors 404, 406, 410 and the NMOS transistors 414, 416, 418 provide for scan-input and multiplexer functionality as discussed above.)
(60) Assuming the shift circuitry input is low, the flip-flop 400 functions as a d flip-flop with the d input signal as the input to the flip-flop 400. When the shift signal is low and the nshift signal is high, the PMOS transistor 410 and the NMOS transistor 414 are both off, and no current may flow through the PMOS transistors 406, 410 and the NMOS transistors 414, 418. The PMOS transistor 404 and the NMOS transistor 416 are both on, and current may flow through the PMOS transistors 402, 404, 408 and the NMOS transistors 412, 416, 420, depending on the inputs to the PMOS transistors 402, 408 and the NMOS transistors 420, 412, i.e., the pn2 signal and the d input, respectively. Accordingly, when the shift circuitry input is low, the pn1 signal is a function of the d input to the flip-flop, the pn2 signal, and the nclk signal along with some feedback of the pn1 signal (as is also illustrated in the logic diagram illustrated in
(61) When the pn1 signal is high, pn1 will continue to be high whenever the nclk signal is low because the PMOS transistors 424, 426 are both on. The PMOS transistor 426 is on because the high pn1 signal is inverted by the inverter 422 coupled to the transistor 426. The PMOS transistor 424 is on because the nclk signal is low.
(62) When the pn2 signal is low, the pn1 signal will be high when the d input is low.
(63) The pn1 signal will be high because the PMOS transistors 402, 404, 408 are on when the pn2 signal, the shift signal, and the d input are all low. The NMOS transistor 412 is off because the d input is low. (The PMOS transistor 410 and the NMOS transistor 414 are assumed to be off.) When the pn2 signal is low, the pn1 signal will be low when the d input is high, and the nclk signal is high because the PMOS transistors 402, 404, 408 are off with the pn2 signal high, the shift signal high, and the d input high, respectively. The NMOS transistors 412, 416, 420 are on because the d input is high, the nshift signal is high, and the nclk signal is high, respectively. (Again. the PMOS transistor 410 and the NMOS transistor 414 are assumed to be off.) When the pn2 signal is high, the pn1 signal will be low because the PMOS transistor 402 is off with the signal pn2 high and the NMOS transistor 430 is on with the pn2 signal high.
(64) As illustrated in
(65) When the pn2 signal is low, the pn1 signal will be low when the sin signal and the nclk signal are high because the PMOS transistors 402, 406, 410 are off with the pn2 signal high, the sin signal high, and the nshift signal high and the NMOS transistors 414, 418, 420 are on because the shift signal, the sin signal, and the nclk signal are all high. When the pn2 signal is high, the pn1 signal will be low because the PMOS transistor 402 is off and the NMOS transistor 430 is on.
(66) The second AOI circuit structure 462 includes PMOS transistors 436, 438, 440, 456 and NMOS transistors 442, 444. The second AOI circuit structure 462 includes an AND gate generally formed by the PMOS transistor 438, 440, 456 and the NMOS transistor 442. The AND gate in the second AOI circuit structure 462 also shares an NMOS transistor 420 with the first AOI circuit structure 460.
(67) Additionally, the second AOI circuit structure 462 includes a NOR gate that may provide the OR functionality and the inverter functionality. The NOR gate is generally formed by the PMOS transistor 436 and the NMOS transistor 444 for the net1/pn2 signal input to the NOR gate and the PMOS transistors 438, 440, 456 and the NMOS transistors 442 which generate the AND function tied to the other input to the NOR gate. The addition of the PMOS transistor 456 may help eliminate glitches by isolating the pn4 signal from Vcc for the case when the nclk signal is low and the pn2 signal, which may generally be low, is about to transition high. Referring back to
(68) When the net3 signal is low, the pn4 signal will be high when the nclk signal is low because the PMOS transistor 456 will be on and the PMOS transistor 438 is on. When the pn2 signal is low, the pn4 signal will be high when net2 is low because the PMOS transistor 436 will be on and the PMOS transistor 440 will be on. The PMOS transistor 456 helps eliminate glitches because it holds the pn4 signal high, keeping the q output low when the output q is already low, nclk is low (indicating a time after a rising edge of the clk signal when input values are clocked into the flip-flop 400), when pn1 is high.
(69) With the pn2 signal low, the NMOS transistor 444 will be off. With the net2 signal is low, the NMOS transistor 442 will be off. With the nclk signal is low, the NMOS transistor 420 will be off. Accordingly, pn4 will not be connected to Vcc and Vss at the same time. When the pn2 signal is high, the pn4 signal is low (Vss) because the NMOS transistor 444 is on. (The PMOS transistor 436 is off because pn2 is high.) The pn4 signal may also be pulled low through the NMOS transistors 442, 420, when both net2 and nclk are high. Accordingly, when the clk signal rises, a low value may be clocked into pn4 (corresponding to a high value at the q output and the net2 signal after a delay through the inverters 446, 448 respectively) when net2 starts out as a low value, allowing a high output to be clocked into q output of the flip-flop 400.
(70) The NOR gate structure 464 includes PMOS transistors 424, 426, 428 and NMOS transistors 432, 434. The NOR gate structure 464 may be NOR gate 104 of
(71) Additional circuitry in flip-flop 400 includes inverters 422, 450, 454, and NAND gate 452. The inverter 422 provides an inverted version of pn1 to PMOS transistor 426 that allows the pn1 signal to be pulled high through PMOS transistors 424, 426 as described above. The inverter 450 is used to generate the nshift (not shift) signal used to control the shift features of the flip-flop 400. When the shift signal is high, the pn4 signal may be output on the shift out (sout) signal using NAND gate 452. Additionally, the inverter 454 is used to generate the inverted version of the clk signal, nclk.
(72) Some examples may include an AOI based flip-flop (100, 200, 300, 400). The flip-flop (100, 200, 300, 400) may include a first AND gate (108, e.g., in the first AOI circuit structures 260, 360, 460). The first AND gate (108, e.g., in the first AOI circuit structures 260, 360, 460) may include a first AND gate first input, a first AND gate second input, and a first AND gate output. The first AND gate first input may be a delay (d) input of the flip-flop (100, 200, 300, 400).
(73) The example may include a first NOR gate (106, in the first AOI circuit structures 260, 360, 460). The first NOR gate (106, in the first AOI circuit structures 260, 360, 460) may include a first NOR gate first input, a first NOR gate second input, and a first NOR gate output. The first AND gate output may be coupled to the first NOR gate first input.
(74) The example may include a second NOR gate (104, in the first AOI circuit structures 260, 360, 460). The second NOR gate (104) may include a second NOR gate first input, a second NOR gate second input, and a second NOR gate output. The first NOR gate output may be coupled to the second NOR gate first input. The second NOR gate output may be coupled to the first NOR gate second input.
(75) The example may include a first inverter (102, 254, 354, 454). The inverter (102, 254, 354, 454) may include a first inverter input and a first inverter output. A clock signal may be coupled to the first inverter input. An inverted clock signal may be output from the first inverter output. The first inverter output may be coupled to the first AND gate second input and the second NOR gate second input.
(76) The example may include a second AND gate (110, e.g., in the second AOI circuit structures 262, 362, 462). The second AND gate may include a second AND gate first input, a second AND gate second input, and a second AND gate output. The second AND gate first input may be coupled to the first inverter output.
(77) The example may include a third NOR gate (112, e.g., in the second AOI circuit structures 262, 362, 462). The third NOR gate (112, e.g., in the second AOI circuit structures 262, 362, 462) may include a third NOR gate first input, a third NOR gate second input, and a third NOR gate output. The third NOR gate first input may be coupled to the second NOR gate output. The third NOR gate second input may be coupled to the second AND gate output.
(78) The example may include a second inverter (114, 116, 246, 248, 346, 348, 446, 448). The second inverter (114, 116, 246, 248, 346, 348, 446, 448) may include a second inverter input and a second inverter output. The second inverter output may be coupled to the second AND gate second input.
(79) In an example, the second inverter output may be a q output of the flip-flop (100, 200, 300, 400), e.g., the inverter may be inverter (114, 246, 346, 446). An example may include a third inverter (114, 246, 346, 446). The third inverter (114, 246, 346, 446) may include a third inverter input and a third inverter output. The third inverter output may be a q output of the flip-flop (100, 200, 300, 400).
(80) In an example, the flip-flop may include a first NAND gate (252, 352, 452). The NAND gate (252, 352, 452) may include a first NAND gate first input, a first NAND gate second input, and a first NAND gate output. The first NAND gate first input may be coupled to a scan input. The first NAND gate second input may be coupled to the second inverter output. The first NAND gate output may be a scan output.
(81) In an example, the flip-flop (300) may include asynchronous set circuitry (PMOS transistor 356, NMOS transistor 358). The asynchronous set circuitry may be configured to set an output of the flip-flop high asynchronously to the clock signal. In an example, the flip-flop (400) may include anti-glitch circuitry (PMOS transistor 456). The anti-glitch circuitry may include a first PMOS transistor (456) coupled to a supply voltage (Vcc) and configured to supply current to a second PMOS transistor (438). The second PMOS transistor (438) forming one of the second AND gate first input or the second AND gate second input. The one of the second AND gate first input or the second AND gate second input coupled to an inverted clock signal (nclck). The first PMOS transistor (456) controlled by a version (net3) of an input (d) to the flip-flop delayed through a pair of inverters (PMOS transistor 408 and NMOS transistor 412, and inverter 422).
(82)
(83) As described above, in many circuit designs, devices in the design may use the most power when a state of a signal through a device, e.g., a transistor, changes states. The clock signal may be the most common switching signal in a circuit design. Accordingly, minimizing the devices, e.g., transistors, connected to the clock signal may decrease power used by the circuit. The flip-flops (100, 200, 300, 400) described herein may have fewer components connected to the clock signal.
(84) The method includes a second block (504) to input an input value to the AOI based flip-flop on a delay (d) input. In some examples inputting an input value to the AOI based flip-flop on a delay (d) input may include using an AND gate (108) or circuitry within the first AOI circuit structures (260, 360, 460, such as PMOS transistors 208, 308, 408 and NMOS transistors 212, 312, 412) as well as other circuitry in the flip-flop (100, 200, 300, 400) to input the d input. The method includes an optionally block (506) to asynchronously set the AOI based flip-flop. The AOI based flip-flop may be set asynchronous to the clock signal using, for example, PMOS transistor 356 and NMOS transistor 358 illustrated in
(85) In some examples a means for inputting a clock signal to the AOI based flip-flop may include the inverter (102, 254, 354, 454) as well as other circuitry in the flip-flop (100, 200, 300, 400). In some examples a means for inputting an input value to the AOI based flip-flop on a delay (d) input may include an AND gate (108) or circuitry within the first AOI circuit structures (260, 360, 460, such as PMOS transistors 208, 308, 408 and NMOS transistors 212, 312, 412) as well as other circuitry in the flip-flop (100, 200, 300, 400). In some examples, a means for asynchronously setting the AOI based flip-flop asynchronous to the clock signal may include PMOS transistor 356, NMOS transistor 358.
(86) It is understood that the specific order or hierarchy of blocks in the processes/flowcharts disclosed is an illustration of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of blocks in the processes/flowcharts may be rearranged. Further, some blocks may be combined or omitted. The accompanying method claims present elements of the various blocks in a sample order, and are not meant to be limited to the specific order or hierarchy presented.
(87) The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects. Unless specifically stated otherwise, the term “some” refers to one or more. Combinations such as “at least one of A, B, or C,” “one or more of A, B, or C,” “at least one of A, B, and C,” “one or more of A, B, and C,” and “A, B, C, or any combination thereof” include any combination of A, B, and/or C, and may include multiples of A, multiples of B, or multiples of C. Specifically, combinations such as “at least one of A, B, or C,” “one or more of A, B, or C,” “at least one of A, B, and C,” “one or more of A, B, and C,” and “A, B, C, or any combination thereof” may be A only, B only, C only, A and B, A and C, B and C, or A and B and C, where any such combinations may contain one or more member or members of A, B, or C. All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. The words “module,” “mechanism,” “element,” “device,” and the like may not be a substitute for the word “means.” As such, no claim element is to be construed as a means plus function unless the element is expressly recited using the phrase “means for.”