Claims
- 1. A circuit that counts gate transitions, comprising:a ring oscillator comprising a plurality of N inverting circuits where N is an odd integer, each inverting circuit having an input and an output, the inverting circuits being connected together input to output to form a continuous loop; means for receiving a halt control signal to halt the oscillation of the ring oscillator; a plurality of N latches, each having an input and an output, with each of the N latch inputs connected to one of the N inverter circuit outputs; and wherein, the halt control signal is coupled to the plurality of N latches to capture the output of the N inverting circuits when the halt control signal is received.
- 2. The circuit of claim 1, wherein at least one of the N inverting circuits comprises a NAND gate having first and second inputs, with the first input connected to a preceding inverting circuit; and wherein the means for receiving the halt control signal comprises the second input.
- 3. The circuit of claim 1, wherein the plurality of N inverting circuits includes a first inverting circuit and a last inverting circuit; and wherein the last inverting circuit comprises a NAND gate having two inputs, with a first of said two inputs comprising the last inverting circuit's input and a second of said two inputs receiving the halt control signal.
- 4. The circuit of claim 1, further comprising a plurality of N buffers disposed between the N inverting circuits and the N latches.
- 5. The circuit of claim 1, further comprising:means for receiving a start control signal to start the oscillation of the ring oscillator.
- 6. The circuit of claim 5, wherein at least one of the N inverting circuits comprises a NAND gate having first and second inputs, with the first input connected to a preceding inverting circuit; and wherein the means for receiving the start control signal comprises the second input.
- 7. The circuit of claim 5, wherein the plurality of N inverting circuits includes a first inverting circuit and a last inverting circuit; and wherein the first inverting circuit comprises a NAND gate having two inputs, with a first of said two inputs comprising the first inverting circuit's input and a second of said two inputs receiving the start control signal.
- 8. The circuit of claim 5, wherein the plurality of N inverting circuits includes a first and a last inverting circuit:and wherein the plurality of N latches includes a corresponding first and last latch with the first latch input receiving the first inverting circuit output, and with the last latch input receiving the last inverting circuit output; and further comprising, a ripple counter having an input coupled to the last inverting circuit output, the ripple counter counting a number of transitions of the last inverting circuit and producing a ripple counter output.
- 9. The circuit of claim 8, wherein the ripple counter input is coupled to the last inverting circuit through the last latch.
- 10. The circuit of claim 9, further comprising:a logic circuit receiving the N latch outputs and converting the N latch outputs to a binary value.
- 11. The circuit of claim 10, wherein N=5 and wherein the five latch outputs are designated r1, r2, r3, r4 and r5, and wherein the logic circuit converts the five latch outputs to a binary value B having bits b0, b1, b2 and b3 from least significant to most significant bits by the equations:b3={overscore (r)}3·r5 b2=r3·r4 b1=r1·{overscore (r)}4+r1·{overscore (r)}3 b0=r1·{overscore (r)}2+r3·{overscore (r)}4+r1·r2·r3·r4r5+{overscore (r)}2r3+{overscore (r)}4·r5.
- 12. The circuit of claim 11, wherein the ripple counter output is a four bit binary count designated C having bits c0, c1, c2 and c3 from least significant bit to most significant bit; and further comprising a converting circuit for combining C with B to produce a seven bit binary value F having bits f0, f1, f2, f3, f4, f5 and f6 from least significant bit to most significant bit, where F=B+10C.
- 13. The circuit of claim 10, further comprising:a second converting circuit receiving the binary count from the logic circuit and the output of the ripple counter, and producing binary count F representing a number of transitions of the inverting circuit.
- 14. The circuit of claim 13, further comprising:a programmable divider circuit receiving the binary count F and producing an output value representing the binary count divided by a programmed value equal to (2M−1)/K, where K is an integer between 1 and (2M−1−1).
- 15. The circuit of claim 14, wherein the ripple counter further comprises a preset input which presets an initial value of the ripple counter, the preset input receiving the output value of the programmable divider circuit.
- 16. A circuit that counts gate transitions, comprising:a ring oscillator comprising a plurality of N inverting circuits where N is an odd integer, each inverting circuit having an input and an output, the inverting circuits being connected together input to output to form a continuous loop; means for receiving a start control signal to start the oscillation of the ring oscillator; means for receiving a halt control signal to halt the oscillation of the ring oscillator; a plurality of N buffers; a plurality of N latches, each having an input and an output, with each of the N latch inputs connected to one of the N inverter circuit outputs through one of the N buffers; wherein, the halt control signal is coupled to the plurality of N latches to capture the output of the N inverting circuits when the halt control signal is received; a ripple counter having an input coupled to one of said latch outputs, the ripple counter counting a number of transitions of said latch output and producing a ripple counter output; and a logic circuit receiving the N latch outputs and converting the N latch outputs to a binary value.
- 17. The circuit of claim 16 wherein at least one of the N inverting circuits comprises a NAND gate having first and second inputs, with the first input connected to a preceding inverting circuit; and wherein the means for receiving the halt control signal comprises the second input.
- 18. The circuit of claim 16, wherein the plurality of N inverting circuits includes a first inverting circuit and a last inverting circuit; and wherein the last inverting circuit comprises a NAND gate having two inputs, with a first of said two inputs comprising the last inverting circuit's input and a second of said two inputs receiving the halt control signal.
- 19. The circuit of claim 16, wherein at least one of the N inverting circuits comprises a NAND gate having first and second inputs, with the first input connected to a preceding inverting circuit; and wherein the means for receiving the start control signal comprises the second input.
- 20. The circuit of claim 16, wherein the plurality of N inverting circuits includes a first inverting circuit and a last inverting circuit; and wherein the first inverting circuit comprises a NAND gate having two inputs, with a first of said two inputs comprising the first inverting circuit's input and a second of said two inputs receiving the start control signal.
- 21. The circuit of claim 16, wherein the N latch outputs are designated r1, r2, r3, r4 and r5, and wherein the logic circuit converts the N latch outputs to a binary value B having bits b0, b1, b2 and b3 from least significant to most significant bits by the equations:b3={overscore (r)}3·r5 b2=r3·r4 b1=r1·{overscore (r)}4+r1·{overscore (r)}3 b0=r1·{overscore (r)}2+r3·{overscore (r)}4+r1·r2·r3·r4r5+{overscore (r)}2r3+{overscore (r)}4·r5.
- 22. The circuit of claim 21, wherein the ripple counter output is a four bit binary count designated C having bits c0, c1, c2 and c3 from least significant bit to most significant bit; and further comprising a converting circuit for combining C with B to produce a seven bit binary value F having bits f0, f1, f2, f3, f4, f5 and f6 from least significant bit to most significant bit, where F=B+10C.
- 23. The circuit of claim 22, further comprising:a second converting circuit receiving the binary count from the first converting circuit and the output of the ripple counter, and producing binary count F representing a number of transitions of the inverting circuit.
- 24. The circuit of claim 23, further comprising:a programmable divider circuit receiving the binary count F and producing an output value representing the binary count divided by a programmed value equal to (2M−1)/K , where K is an integer between 1 and (2M−1−1).
- 25. The circuit of claim 24, wherein the ripple counter further comprises a preset input which presets an initial value of the ripple counter, the preset input receiving the output value of the programmable divider circuit.
- 26. A method of capturing the state of a ring oscillator, the ring oscillator comprising a plurality of N inverting circuits where N is an odd integer, each inverting circuit having an input and an output, the inverting circuits being connected together input to output to form a continuous loop, comprising:causing the ring oscillator to oscillate; receiving a halt control signal to halt the oscillation of the ring oscillator; latching a value at each output in one of a plurality of N latches to create a latched value R; converting the latched value of R to a binary number; counting a number of complete cycles of the ring oscillator to produce a count C; and combining the values of C and R to duce a number of gate transitions.
- 27. The method of claim 26, wherein the counting is carried out in a ripple counter circuit.
- 28. A method of capturing the state of a ring oscillator, the ring oscillator comprising a plurality of N inverting circuits where N is an odd integer, each inverting circuit having an input and an output, the inverting circuits being connected together input to output to form a continuous loop, comprising:causing the ring oscillator to oscillate; receiving a halt control signal to halt the oscillation of the ring oscillator; latching a value at each output in one of a plurality of N latches to create a latched value R; converting the latched value of R to a binary number; counting a number of complete cycles of the ring oscillator to produce a count C; and presetting a value of C and wherein the counting comprises counting from the preset value.
- 29. A method of capturing the state of a ring oscillator, the ring oscillator comprising a plurality of N logic gates, each gate having an input and an output, the gates being connected together input to output to form a continuous loop, comprising:causing the ring oscillator to oscillate; receiving a halt control signal to halt the oscillation of the ring oscillator; latching a value at each output in one of a plurality of N latches to create a latched value R; converting the latched value of R to a binary number; counting a number of complete cycles of the ring oscillator to produce a count C: and combining the values of C and R to produce a number of gate transitions.
- 30. The method of claim 29, wherein the counting is carried out in a ripple counter circuit.
- 31. A method of capturing the state of a ring oscillator, the ring oscillator comprising a plurality of N logic gates, each gate having an input and an output, the gates being connected together input to output to form a continuous loop, comprising:causing the ring oscillator to oscillate; receiving a halt control signal to halt the oscillation of the ring oscillator; latching a value at each output in one of a plurality of N latches to create a latched value R; converting the latched value of R to a binary number; counting a number of complete cycles of the ring oscillator to produce a count C; and presetting a value of C and wherein the counting comprises counting from the preset value.
- 32. The method of claim 28, wherein the counting is carried out in a ripple counter circuit.
- 33. The method of claim 31, wherein the counting is carried out in a ripple counter circuit.
CROSS REFERENCE TO RELATED DOCUMENTS
This application is related to U.S. patent application Ser. No. 09/637,535 for a “Programmable Divider”, to Shad Shepston et al. filed simultaneously herewith, which is hereby incorporated by reference.
US Referenced Citations (4)
Number |
Name |
Date |
Kind |
5126691 |
Mijuskovie et al. |
Jun 1992 |
A |
5528200 |
Yamauchi et al. |
Jun 1996 |
A |
5534809 |
Watanabe et al. |
Jul 1996 |
A |
5684760 |
Hunter |
Nov 1997 |
A |