A method of automated synthesis of analog and/or digital electronic circuits involves evolution in both software simulations and hardware. Heretofore, the evolutionary auto- mated synthesis of electronic circuits has been accomplished by use of either software simulations or hardware, but not both. Evolution in software has been called “extrinsic,” while evolution in hardware has been called “intrinsic.” Because evolution by the present method involves both intrinsic and extrinsic elements, it is called “mixtrinsic.”
Part of the trouble with software evolution is that when some evolved circuits are implemented in hardware, their behaviors differ greatly from those predicted in the simulations. Similarly, part of the trouble with hardware evolution is that some circuits evolved in hardware behave differently when they are analyzed in computational simulations. The cause of these mismatches is the limited accuracy of the mathematical circuit models embodied in the software. To some extent, the accuracy of the circuit models can be increased at the cost of increased simulation time. However, some information about circuits depends on fabrication process and cannot be included in the models. In addition, it can be desirable to evolve circuits that exhibit behaviors independent of the details of fabrication processes.
Another important and related issue is that of robustness and portability of solutions. In each case, evolution finds the “easy way out,” optimizing for whichever raw material (mathematical model or hardware components) is given. The inability to port a software solution to hardware renders the software solution useless in a commercial or other practical setting. On the other hand, the inability to analyze an evolved hardware solution in a software simulation reduces confidence in the hardware intrinsic solution because the solution cannot be shown to work outside the operating region used in the evaluations during evolution.
The limited range of applicability of a solution is of special concern if the solution exploits very specific effects. Such a solution could be characterized as a “point design.” What is needed is a “domainwide” design that could constitute a solution within a large envelope of operating parameters. Examples of such parameters include temperature, power-supply voltage, and measures of ionizing radiation.
In mixtrinsic evolution, one uses populations of mixed individuals — some illumievaluated in software simulations and some in real hardware (see figure). In a variation of the technique, each individual is evaluated both in hardware and in software and is assigned an averaged measure of goodness. Mixed populations constrain the evolution to a solution that both perform well in hardware and can be well simulated in software. Such a solution exploits characteristics included in the software model for producing the desired behavior but does not rely on the special characteristics of a specific hardware implementation. Solutions based on hardware properties outside the software model are eliminated by evolution, because during evolution, each solution can be randomly assigned for evaluation in either hardware or software. As a result, solutions are robust; in addition, they are likely to be patentable and in accordance with common design rules.
This work was done by Adrian Stoica of Caltech for NASA’s Jet Propulsion Laboratory.
This invention is owned by NASA, and a patent application has been filed. Inquiries concerning nonexclusive or exclusive license for its commercial development should be addressed to
the Patent Counsel
NASA Management Office–JPL; (818) 354-7770.
Refer to NPO-20773.
This Brief includes a Technical Support Package (TSP).
Mixtrinsic Evolutionary Synthesis of Electronic Circuits
(reference NPO-20773) is currently available for download from the TSP library.
Don't have an account? Sign up here.