RANDOM NUMBER GENERATORS

Embedded Random Number Generators

We sell solutions for embedded applications, where a customer wish to include a random number generator. The best approach is often to write a specification on your requirements, and we simply adopt a solution we used before to meet your demands. Please contact us directly to obtain detailed information on how we can help you.

Using Pre-Fabricated Random Number Modules

For a short production run, a pre-fabricated random number module should be considered. We occasionally make such modules here, and you can forward your specification to us for our consideration. We can set up a batch of custom-made modules also.

Often, integration of a module into a project is a major cost; adoption of software, etc. Depending on your production volume, you should also consider a licensed solution, and see wich solution that best fits your needs.

Software Processing of Random Numbers

Source Code in Embedded Applications

A random number module is seldom the main focus in a customer's application. Even if some processors have capabilities that can be compared to an ordinary PC, that do not imply that these resources are available to the random number module. Most embedded processors are 8-bit with limited memory, for the random number module possibly down to some handful of bytes. The main focus for the software driver of a random number module, is to get the job done in a reliable fashion, using available limited resources.

A Hardware/Software Trade-Off

Hardware random number circuits often produce random bits at great speed. There are a number of trade-offs, that you can employ, if you have good information on how the random number module will be used in the actual application. One of them is adjustment of when random numbers are read from the hardware, compared to corresponding computational costs.

Quality of Random Numbers

Most applications require random numbers of a quality that can only be attained using rather massive computation, and much memory supporting it. The quality is possibly somewhat biased by this issue of which "tests" the numbers need to pass, where the "tests" often turn out to be frequency tests, and often the 0/1 bit balance is what the test actually measure, even if it have some fancy name. We note that the 0/1 bit balance of the output stream is not difficult to fix; but do such operations improve quality?

The Tesing of Random Numbers

The testing of random numbers have a number of hidden problems; one that came up was that one of our customer's had a requirement from the corresponding Game Authority, that the random number should pass a specific test. What was not considered was that, as this was one of the usual statistical frequency tests, that these tests occasionally fail by pure chance. This turned out to be problematic, as the customer intended to run, and pass, the test every time before an important selection was made. It was not until some server cluster run this application at full speed, that the problem of frequent test fails was discovered.

Embedded Random Number Generator

Drive Voltage

Zeener Diode Generators

Zeener diode random number generators use a 16V drive voltage, that must be generated if not available in the customer's application. The TRNG9803 serial port generator have a 10V input voltage, and a simple step-up converter is used. In most cases an inductive voltage pump must be used.

Amplifier Noise Generators

Amplifier noise generators, such as the TRNG9815, have the advantage that production batch variations are very low, and high speeds is easy to obtain. A draw-back is that the noise source is sensitive to external signals and must be shielded.

Processing

Using a Microcontroller

An obvious alternative is to include a microcontroller running the random number generator's test and processing software. Beside costs for board space and component costs, the cost of programming the microcontroller on the production boards is often much larger than you might anticipate.

Using the Host Processor

The reduction of external components make this solution an obvious alternative. The draw-back is that the host processor must run the sampling, testing, and processing of the random numbers.

Layout

The layout is an important aspect, and automated tools can seldom be used. The circuits typically require 0-via layout and tracing, with an unbroken ground plane.