A multi-pass method of implementing a testbench can include, during a
pre-processing pass, randomly selecting a configuration of the testbench
and generating configuration data specifying the randomly selected
configuration of the testbench. During a subsequent processing pass, the
method can include compiling the testbench in accordance with the
configuration data. Simulation can be performed using the testbench.