Umboh. How can I know what you need for your daily life?
![Confused :-//](https://www.eevblog.com/forum/Smileys/default/confused0024.gif.pagespeed.ce.5xOqKkq0Co.gif)
Here I have the need of random numbers generator device.
do_lfsr0 : process (in_Clock)
begin
-- xx xx xx xx
--07 06 05 04 03 02 01 00 07 06 05 04 03 02 01 00 07 06 05 04 03 02 01 00 07 06 05 04 03 02 01 00
--31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
if rising_edge(in_Clock) then
--32bit
lfsr0(0) <= lfsr0(9) xor lfsr0(4) xor lfsr0(30) xor lfsr0(15);
lfsr0(8) <= lfsr0(1) xor lfsr0(26) xor lfsr0(14) xor lfsr0(31);
lfsr0(16) <= lfsr0(17) xor lfsr0(20) xor lfsr0(6) xor lfsr0(23);
lfsr0(24) <= lfsr0(25) xor lfsr0(12) xor lfsr0(22) xor lfsr0(7);
lfsr0(31 downto 1) <= lfsr0(30 downto 0);
end if;
reg_r01 <= lfsr0;
end process do_lfsr0;
Something like this, in a little XC9572XL cpld (smd package) attached to a ColdFire board.
Silly circuit, but it helps. It's very useful for my application since it simplifies a lot of stuff.
I am afraid that "being useful" is based on or influenced by personal feelings, tastes, or opinions.
edit:
ops, I had forgotten: may be you can use a similar circuit to implement the Roulette Game.
In this case you need to reduce the range, which means you have to modify the LFSR circuit.
It seems a funny idea for a PCB-project. Alternative: you can drive two LED-dices
![Cheesy :D](https://www.eevblog.com/forum/Smileys/default/xcheesy.gif.pagespeed.ic.KPzuH4J-TG.png)