Claims
- 1. A method for generating a random number using a latch, comprising the steps of:
detecting a meta-stable state of said latch; and generating a random bit based upon an occurrence of said meta-stable state.
- 2. The method of claim 1, wherein said detecting step further comprises the step of operating a plurality of latches in parallel and detecting a different output at two or more of said latches.
- 3. The method of claim 2, wherein said step of detecting a different output at two or more of said latches is performed using an exclusive OR (XOR) gate.
- 4. The method of claim 1, further comprising the step of decorrelating a marking signal to noise.
- 5. The method of claim 4, wherein said decorrelating step is performed by at least one linear feedback shift register.
- 6. The method of claim 1, wherein said generating step further comprises the step of generating a mistake signal if an output of a first latch does not match an output of a second latch.
- 7. The method of claim 6, wherein the mistake signal causes a random bit to be acquired based on the marking input.
- 8. The method of claim 1, further comprising the step of synchronizing an output of said latch with a local clock source.
- 9. The method of claim 1, further comprising the step of collecting a plurality of said random bits to produce a random number.
- 10. The method of claim 1, further comprising the step of releasing collected bits from a shift register to generate said random bit.
- 11. The method of claim 1, wherein said detecting step further comprises the step of comparing the outputs of a plurality of latches in a collection of predefined outputs and generating a random bit if one of said collection of predefined outputs is detected.
- 12. The method of claim 1, wherein said detecting step further comprises the step of operating a plurality of latches in parallel and wherein said method further comprises the step of evaluating a plurality of combinations of selecting and combining inverted and uninverted outputs of said plurality of latches to find a suitable combination.
- 13. A random number generator, comprising:
a latch operated in a meta-stable state to generate a random bit based upon an occurrence of said meta-stable state.
- 14. The random number generator of claim 13, wherein said occurrence of said meta-stable state is detected by operating a plurality of latches in parallel and detecting a different output at two or more of said latches.
- 15. The random number generator of claim 13, wherein an output of said latch is synchronized with a local clock source.
- 16. The random number generator of claim 13, wherein a plurality of said random bits are collected to produce a random number.
- 17. The random number generator of claim 13, wherein collected bits from a shift register are released to generate said random bit.
- 18. The random number generator of claim 13, wherein said occurrence of said meta-stable state is detected by comparing outputs in a collection of predefined outputs and generating a random bit if one of said collections of predefined outputs is detected.
- 19. A random number generator, comprising:
a plurality of latches operated in parallel, such that at least two of said latches generate different outputs to generate a random bit.
- 20. The random number generator of claim 19, further comprising an exclusive OR (XOR) gate to detect a different output by said at least two of said latches.
- 21. The random number generator of claim 19, wherein a plurality of said random bits are collected to produce a random number.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present invention is related to U.S. patent application Ser. No. 09/519,549, filed Mar. 6, 2000, entitled “Method and Apparatus for Generating Random Numbers Using Flip-Flop Meta-Stability,” and U.S. patent application Ser. No 09/912,685, filed Jul. 25, 2001, entitled “Method and Apparatus for Decorrelating a Random Number Generator Using a Pseudo-Random Sequence,” each assigned to the assignee of the present invention and incorporated by reference herein.