PORTLAND, USA: SynthWorks, a leader in VHDL training, has announced its proven VHDL based constrained random and coverage driven random testbench methodology. At the heart of this methodology are packages for randomization and functional coverage that SynthWorks has released as an open source download.
Constrained random testing
Constrained random testbenches create tests by successively randomizing sequences (transactions or groups of transactions) that are valid for a particular environment. This approach quickly generates test sequences saving test development time.
It is particularly effective for designs where the diversity of transactions and sequences makes it otherwise difficult to generate. Functional coverage counts what transactions occur, and hence, indicates when a test is done.
SynthWorks' constrained random methodology has been in use since 2006. This methodology allows you to add constrained random testing to your existing VHDL testbenches. There is no new language to learn and no throwing out your current testbench or testbench models.
SynthWorks' methodology marries randomization and functional coverage subprograms from the packages with VHDL programming constructs. Each test sequence is derived by randomly selecting either branches of code or values for operations. Randomization constraints are created using normal sequential coding techniques (such as nesting of case, if, loop, and assignment statements).
Functional coverage counts which test cases are generated using subprograms (either custom or from the coverage package) or VHDL code. Functional coverage is stored in signals and can be used as randomization constraints to generate missing coverage items. SynthWorks has developed templates for common problems to accelerate test development.