http://www.opengpu.org
reset solutions, scoreboard examples, and much more. This core functionality would define the scope
and
content
of
the verification methodologies used today, especially OVM. Later, the
ieRM
was enhanced with
module-to-system reuse, system verification components, software verification components, and the first
commercial register package,
vr
ad.
In response,
in 2003, Synopsys announced the Reuse Verification Methodology library (RVM) for the Vera
verification language.
The
content
of
the
RVM
library included base classes, messages capabilities, and
packaging guidelines, but
it
did
not include architecture guidelines, sequences, objection mechanism,
and
more.
As
a result, many users looked at
RVM
as a subset
of
eRM.
RVM's
main contribution to the verification
user
community was the callback solution, which was borrowed from software design patterns, customized
for functional verification challenges, and which helped
add
procedural extensions to Vera
and
other
object-oriented languages that lacked the aspect-oriented capabilities
of
e.
Over time,
RVM
was converted to
the System Verilog (
SV) Verification Methodology Manual (VMM) and was the Synopsys proprietary library
that
supported the evolving System Verilog standard.
The Advanced Verification Methodology (AVM) from Mentor was introduced in
2006.
The
technical
capabilities
of
this library mainly leveraged the OSCI SystemC Transaction-Level Methodology (TLM)
standard, leaving open higher-level verification needs such as test classes, complex stimuli generation,
configuration, extension via a factory,
and
more. While not a very high-level methodology,
AVM
was
important, since it was the first open-source verification solution.
Cadence' acquired Verisity in 2005,
and
began developing a
SV
version
of
eRM.
While many verification
concepts mapped to
System Verilog in a natural
way,
some required modifications and enhancements to what
was available in other existing methodologies. The Universal Reuse Methodology (URM) was introduced in
early
2007. In addition to being open source and using TLM communications, URM brought many
of
the
proven capabilities
of
the eRM into the
SV
community. Proven solutions such as the
eRM
architecture
and
packaging guidelines, sequences, and others were migrated into the System Verilog URM. In addition,
new
solutions such as an abstract factory, configuration mechanism, test classes, class automation (copy, print,
compare, an so on)
and
others provided a significant upgrade for SystemVerilog users.
In
January 2008, Cadence
and
Mentor joined forces to release OVM. The fact that URM and
AVM
were
already using TLM as the standard inter-component communication mechanism made the library
unifications relatively smooth. Because
URM has uniquely provided high-level methodology infrastructure,
it
was a logical choice to adopt the majority
of
that high-level methodology from URM into OVM. OVM's
primary
advantage over URM was that it was the first multi-vendor verification solution tested against more
than
a single vendor simulator. Given
the
early stages
of
the System Verilog language standard, the differing
language implementation order between the simulators and the lack
of
clarity on some
of
the constructs, this
was important to many users who wanted to keep their testbench vendor-neutral.
The
collaborative OVM proved to be a very good solution. Not only did it provide an open-source library,
examples,
and
documentation, it also set up a user community site,
www.ovmworld.org,
where OVM users
could share ideas, ask questions
and
make their own contributions
to
the methodology. As a result, many
companies chose
OVM as
the
verification methodology for their teams. Cadence also extended OVM for
integration
of
multi-language testbenches using
e,
SystemVerilog and System
C.
This was relatively easy since
the abstract concepts
of
OVM were originated from eRM.
Here
we
are in 2010:
The
OVM 2.1.1 was chosen
as
the basis for the UVM standard, and now the era
ofUVM
has begun. No more long technical comparisons between OVM
and
VMM are needed. No more obstacles for
:xviii A Practical Guide
to
Adopting
the Universal Verification Methodology (UVM)
http://www.opengpu.org
http://www.opengpu.org