HOME

TheInfoList



OR:

{{Unreferenced, date=January 2019 Random test generators (often abbreviated RTG or ISG for Instruction Stream Generator) are a type of
computer software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
that is used in
functional verification In electronic design automation, functional verification is the task of verifying that the logic design conforms to specification. Functional verification attempts to answer the question "Does this proposed design do what is intended?" This is a ...
of
microprocessor A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circ ...
s. Their primary use lies in providing input stimulus to a
device under test A device under test (DUT), also known as equipment under test (EUT) and unit under test (UUT), is a manufactured product undergoing testing, either at first manufacture or later during its life cycle as part of ongoing functional testing and calibra ...
. In a
simulation A simulation is the imitation of the operation of a real-world process or system over time. Simulations require the use of models; the model represents the key characteristics or behaviors of the selected system or process, whereas the s ...
/
testbench A test bench or testing workbench is an environment used to verify the correctness or soundness of a design or model. The term has its roots in the testing of electronic devices, where an engineer would sit at a lab bench with tools for measurem ...
verification environment, the simulator processes input created by the RTG and coverage monitors may be used to verify that the generator is properly testing the design. Random test generators range in scope from simple
scripts Script may refer to: Writing systems * Script, a distinctive writing system, based on a repertoire of specific elements or symbols, or that repertoire * Script (styles of handwriting) ** Script typeface, a typeface with characteristics of handw ...
and parameterized macros that can be created in a matter of weeks to full featured systems requiring extensive software development. Random test generators are most often created by the designing organizations.


Table Based Generators

Table based test generators are the simplest RTGs available. Creation of such generators can be accomplished relatively quickly, and maintenance requirements are often low. These generators work by capturing knowledge of the design's instruction set architecture and storing it in a relational database for later use. Because of their simplistic nature, table based generators may be used by less skilled personnel to create interesting tests. There is a drawback to these generators however, as their implementation is generally restricted to simple architectures. Usage on more complex ISAs may result in an inability to reach
corner case In engineering, a corner case (or pathological case) involves a problem or situation that occurs only outside normal operating parameters—specifically one that manifests itself when multiple environmental variables or conditions are simultaneou ...
s or create complex scenarios. Table based generators may also generate invalid tests at times.


Static Generators

Static generators are similar to table based generators with the exception that the majority of the instruction, operand and data selection reside in complex
procedural code Procedural programming is a programming paradigm, derived from imperative programming, based on the concept of the ''procedure call''. Procedures (a type of routine or subroutine) simply contain a series of computational steps to be carried ...
. Static generators are capable of producing more random behavior than table based generators, but still have trouble hitting many corner-cases. In addition, the skill level required to create and maintain such a tool rises sharply once this level of sophistication is reached.


Dynamic Generators

Dynamic generators incorporate significant knowledge about the architecture being tested. They enhance the ability of less-skilled users to generate complex tests that can hit hard-to-reach corner cases without stumbling on subtle programming pitfalls. This added knowledge, flexibility and ease-of-use is reflected in a more complex generator, and consequently the cost of creating and maintaining the generator are greater than for table-based or static generators.


External links


IBM Genesys Pro

Obsidian Software RAVEN

MicroTESK
an open-source ISG developed by the
Russian Academy of Sciences The Russian Academy of Sciences (RAS; russian: Росси́йская акаде́мия нау́к (РАН) ''Rossíyskaya akadémiya naúk'') consists of the national academy of Russia; a network of scientific research institutes from across ...

IEEE article - A universal random test generator for functional verification of microprocessors and system-on-chip
Electronic circuit verification