Hardware Reference
In-Depth Information
in SVA provide a solution to many problems when designing a checker library. Let
us recall the main new SVA features that help checker library development and
deployment [ 26 ]:
￿ checker encapsulation is versatile for assertion libraries.
- Argument specification is similar to that of properties.
- checker can be instantiated in procedural code.
- Inference of clocking event, disable condition on the ports of the checker is
possible.
-Inan always and initial procedure, evaluation is triggered by control
reaching the checker instance.
￿ Inference functions $inferred_clock and $inferred_disable can be used as
default values on formal ports of checker, sequence and property declarations.
￿ global clocking and default disable iff declarations are possible.
￿ Free variables
￿ Modeling code in checker
￿ let construct allows for making abstractions from expressions.
￿ Checking of configuration parameters at elaboration time.
24.1
Weaknesses of Existing Checker Libraries
To explain the current weaknesses, let us consider a simple checker
assert_handshake inspired by its equivalent in the OVL library [ 10 ]. The checker
is reduced to include only its important excerpts. Details of included files are
omitted. The user may wish to consult the OVL library for further details if
necessary. First, let us consider the checker interface.
Example 24.1. module -based assert_handshake checker interface
// Accellera Standard V2.8.1 Open Verification Library (OVL).
// Accellera Copyright (c) 2005--2014. All rights reserved.
'module ovl_handshake (
clock, reset, enable, req, ack, fire);
parameter severity_level = 'OVL_SEVERITY_DEFAULT;
parameter min_ack_cycle = 0;
parameter max_ack_cycle = 0;
parameter req_drop = 0;
parameter deassert_count = 0;
parameter max_ack_length = 0;
parameter property_type = 'OVL_PROPERTY_DEFAULT;
parameter msg ='OVL_MSG_DEFAULT;
parameter coverage_level= 'OVL_COVER_DEFAULT;
parameter clock_edge = 'OVL_CLOCK_EDGE_DEFAULT;
parameter reset_polarity =' OVL_RESET_POLARITY_DEFAULT;
parameter gating_type = 'OVL_GATING_TYPE_DEFAULT;
Search WWH ::




Custom Search