<div dir="ltr">Someone asked for some more detail about the design.  I've created a simple web page describing the Infinite Noise Multiplier here:<div><br></div><div><a href="http://dev.vinux-project.org/RNG/">http://dev.vinux-project.org/RNG/</a><br>
</div><div><span style="font-family:arial,sans-serif;font-size:19.200000762939453px;white-space:nowrap"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:19.200000762939453px;white-space:nowrap">Surely someone else has already invented this.  Anyone know where I could find</span></div>
<div><span style="font-family:arial,sans-serif;font-size:19.200000762939453px;white-space:nowrap">such a circuit described on the Internet?</span></div><div><span style="font-family:arial,sans-serif;font-size:19.200000762939453px;white-space:nowrap"><br>
</span></div><div><span style="font-family:arial,sans-serif;font-size:19.200000762939453px;white-space:nowrap">Bill</span></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Dec 5, 2013 at 9:24 PM, Bill Cox <span dir="ltr"><<a href="mailto:waywardgeek@gmail.com" target="_blank">waywardgeek@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm naming this circuit after my daughter.  We're a whole family of severely ADHD people!<br>
<br>
I've been trying to crack a simple problem for a few years, thinking about it now and then: how do you generate "true" random numbers on an analog CMOS process designed to be "quiet"?  In 1998, I built a 4-megabit/second hardware RNG that destroyed the DieHard tests back then (I found bugs in the prof's code, rather than his code finding bugs in my hardware).  It relied on zener noise from a breakdown of a Vbe on a N2222 transistor.  Every process is different, so I had potentiometers for tweaking gains and such.  It was a sweet little board, but not mass-production ready.<br>

<br>
So, here's my dumb infinite noise multipier.  It's a switched cap circuit doing the following steps:<br>
<br>
- Start with a voltage V > 0, but < Vref.<br>
- Multiply V by 2X.<br>
- If V > Vref, subtract Vref<br>
- Repeat forever<br>
<br>
The RNG output is 1 whenever we have to subtract Vref, and 0 otherwise.  If there is a tiny bit of noise way down in say the 35th bit position of resolution, then about 35 cycles later, that noise will impact the output signal.  It really doesn't matter how quite the circuit is.  Enough cycles later, you're output will be banging around quite randomly, kind of like some people I know.<br>

<br>
Just some fun for the day... true RNGs in ANY process is now very simple...<span class="HOEnZb"><font color="#888888"><br>
<br>
Bill<br>
</font></span></blockquote></div><br></div>