Select the Best Embedded Solution
You will need a clear view on your technical specification, especially how frequent and in what speeds your application will need random numbers. To select the best solution is then a function of how well you can estimate the size of your future production batch. Make sure you have all alternatives on your table before you make a decision of implementing any particular solution or unit.
Embedded Random Number Generators
We sell solutions for embedded applications, where a customer wish to include a random number generator on a PCB board or connected to an embedded PC. 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.
We introduce the TRNG9880, that is an SMT type random number generator for embedded systems. The generator use an easy serial interface for the random numbers, and there is also a text ASCII output for testing, debugging and status reports. Please contact us for offer and availability. The lead time is currently approx six weeks.
A customer recently bought all our TRNG9880 samples; please contact us if you need a sample!
The Advantage with a Pre-Fabricated Random Number Module
For a short production run, a pre-fabricated random number module should be considered. Our main alternative is the TRNG9880, that have a small footprint and that is very easy to integrate with digital electronics or a microprocessor. If you should need a customer specific variant, we will manufacture these for you if it is possible to meet a minimum production batch size. If you need a product modification in the software only, we will to our best ability meet your demands, and no minimum orders would be necessary.
Forward your specification to us for our consideration!
The Advantage with a Licensed Solution
In a licensed solution the customer buy all the electronics for the TRNG, and mount the components in the production run. We aid with schematics and layouts and often also testing/processing software. Due to costs, processing is often run in the host processor of the application, but a dedicated processor can also be used.
It is possible to obtain our PC products, and the embedded TRNG9880, as licensed solutions including all the software and documentation.
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 customers 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.
-- If the test fail, we send out a technician who replace the board or fix the problem!
-- If you run the test before each use, for each customer, you will have 4-10 bogus fails/24hrs due to the statistical test...