With different views of the design it is necessary to migrate verification test suites to a
format suitable for the other view. Stimulus has to be translated from one level of
abstraction to the other, then the two suites can be applied to the models to get the points
of divergence between the two result sets. With the additional level of detail a new version
of the test suite can be extracted. Before describing different migration paths,
restrictions must be introduced to ease the migration from functional to lower
levels:
Bit true data representation.
Data values in “C” do not imply a bus width concept,
using this concept within modeling at functional level ensures convergence of
results.
Fixed- and floating-point transparency.
Same problem applies here. Fixed-point
implementation helps in the alignments of different implementations.
Now two common paths of migration will be introduced:
Functional to RTL Migration.
The functional level usually is realized availing
tokens. For migration the tokens have to be translated into pin- and bus-level
cycles with the associated clocks. The original test suite can be compared with
the derived one on regarding the memory contents of each model.
RTL to Netlist Migration.
The RTL verification test suite is bus-based and so it has
to be translated into a bit and pin accurate stimulus. Again the results of the
former and current suite are compared, the difference is that the comparison
takes place at the end of each cycle.