Random Bit Generator

Oct 20, 2010 107 Replies

e

t.

well if that ugly function produces the same output as an LFSR it'll be just as good, it'll just be more trouble to implement than a shift register and a x(n)or gate.

I'm suprised Jim, who's designed chip since they invented sand, have managed to avoid LFSRs since it is pretty much the standard way of testing decoding/encoding BER etc..

-Lasse

Thanks! That's pretty much what I had decided... except all the LFSR/PRBS pages are all confusing as hell to an Analog guy :-) ...Jim Thompson

| James E.Thompson, CTO | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona 85048 Skype: Contacts Only | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | I can see November from my house :-)

Thanks! WHAT! No 8-input-NOR available, like a 74HC4078 ?:-) ...Jim Thompson

| James E.Thompson, CTO | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona 85048 Skype: Contacts Only | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | I can see November from my house :-)

=A0 =A0 =A0...Jim Thompson

----+

=A0 =A0 |

=A0|

=A0 =A0| =A0|

=A0|

=A0 =A0| =A0|

=A0|

=A0|

=A0| =A0|

| =A0| =A0|

----+

=A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

DE>]--+

| =A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

[DIODE>]--+

| =A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

--[DIODE>]--+

=A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

|---[DIODE>]--+

=A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

--|---[DIODE>]--+

=A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

-|--|---[DIODE>]--+

=A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

=A0+--|---[DIODE>]--+

=A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

=A0| =A0| =A0 =A0 =A0Vcc =A0[10k]

=A0| =A0 =A0 |

[1M] =A0GND

=A0 =A0 =A0___| =A0 =A0|

=A0 CLR|O---+

=A0 =A0 =A0 =A0 =A0 | =A0 =A0|

=A0 =A0 =A0| [100nF]

=A0|

=A0 =A0 =A0 =A0 =A0 =A0 =A0 GND

=A0 =A0 ...Jim Thompson

you only need the NOR if you want 256 states, if you can live with 255 it is not needed. except to prevent a lock up if the register ever gets to all zeros (xor) or all ones (xnor)

-Lasse

Unlabeled gate below....

My 'HC164 has A, B as inputs, which I assumed were your D1, D2 inputs until I noticed the unlabeled device.

[snip]

WHAT IS THIS ===> | | | | | |

...Jim Thompson

| James E.Thompson, CTO | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona 85048 Skype: Contacts Only | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | I can see November from my house :-)

Smoke if you got 'em! ;)

Sorry about that, it's one of the gates in an HC86.

OK. Thanks! ...Jim Thompson

| James E.Thompson, CTO | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona 85048 Skype: Contacts Only | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | I can see November from my house :-)

Knuth's "Art of Computer Programming" Vol 2 (iirc) has everything you'd ever want to know about PRBSes as well as other sorts of RNGs, such as linear congruential generators. Knuth goes all the way from number theory to cookbook tables.

Cheers

Phil Hobbs

Dr Philip C D Hobbs Principal ElectroOptical Innovations 55 Orchard Rd Briarcliff Manor NY 10510 845-480-2058 email: hobbs (atsign) electrooptical (period) net http://electrooptical.net

rs

formatting link

ends with a list of possible taps for 3 to 168 bit maximum length LFSRs

-Lasse

Zener or Johnson or shot noise are random. Yes, it's good to XOR them into the guts of a pseudo-random shift register, to scramble its state sequence and remove any offsets or correlations from the physical noise source. Best of both worlds.

John

I posted some pages of Applied Cryptography here:

formatting link

The pages contain the information you need to build dozens of different LFSR's of maximum period using a couple of 74... series. IIRC you can replace the XOR function with NXOR and get a maximal period LSFR that will self start (the all zero startup state becomes a valid state for the LSFR)

I'm only getting 52 before a repeat :-(

(I'm looking at the serial stream.) ...Jim Thompson

| James E.Thompson, CTO | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona 85048 Skype: Contacts Only | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | I can see November from my house :-)

Jim,

Look at the pages I just posted. They will give you the taps for the maximum length sequence (should be 4,3,2,0)

Link times out :-( ...Jim Thompson

| James E.Thompson, CTO | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona 85048 Skype: Contacts Only | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | I can see November from my house :-)

Send PM - I'll PM the zip file (0.5 Mb)

ly

ng

e

=A0 =A0 =A0 ...Jim Thompson

------+

=A0 =A0 |

-+ =A0|

=A0 =A0 =A0| =A0|

| =A0|

=A0 =A0| =A0|

=A0| =A0|

=A0|

| =A0| =A0|

=A0| =A0| =A0|

---------+

| =A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

IODE>]--+

=A0| =A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

--[DIODE>]--+

=A0| =A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

|---[DIODE>]--+

| =A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

--|---[DIODE>]--+

| =A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

-|--|---[DIODE>]--+

| =A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

+--|--|---[DIODE>]--+

| =A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

| =A0+--|---[DIODE>]--+

| =A0| =A0| =A0 =A0 =A0 =A0 =A0 =A0 |

| =A0| =A0| =A0 =A0 =A0Vcc =A0[10k]

=A0 =A0| =A0 =A0 |

=A0 [1M] =A0GND

=A0 =A0 =A0___| =A0 =A0|

=A0 =A0 CLR|O---+

=A0 =A0 =A0 =A0 =A0 =A0 | =A0 =A0|

=A0 =A0 =A0 | [100nF]

=A0 =A0|

=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0GND

=A0 =A0 =A0...Jim Thompson

I believe 3,4,5,7 should also work, so he'd only have to move one connection

-Lasse

Get rid of that reset kludgery.

LFSRs with the right taps will cycle through 2^N-1 states. The other state is stable.

The stable state is all 0s or all 1s. You can switch to the other one with an inverter.

These are my opinions, not necessarily my employer's. I hate spam.

I did :-)

...Jim Thompson

| James E.Thompson, CTO | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona 85048 Skype: Contacts Only | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | I can see November from my house :-)

Resistor noise is so low that most opamp noise will overwhelm Johnson noise. So you'll see mostly opamp noise, which is random-ish but can have bad statistics, like lots of 1/F component. A 10 volt zener biased to a mA or so will have ballpark 300 nv/rthz voltage noise, fairly Gaussian with a nice flat spectrum, plenty enough to amplify easily.

John

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required