Accellera Standard OVL V2
Library Reference Manual
Software Version 2.8.1
March 2014
© 2005-2014 Accellera Systems Initiative
All rights reserved.
License and Statement of Use of Accellera System Initiative's Open Verification Library
This product is licensed under the Apache Software Foundation's Apache License, Version 2.0, January 2004. The full license is
available at: http://www.apache.org/licenses/. This Agreement governs the terms and conditions of use that apply to Accellera
Systems Initiative's Open Verification Library ("OVL")
Accellera Systems Initiative standards documents are developed within Accellera Systems Initiative and the Technical Committee of
Accellera Systems Initiative Inc. Accellera Systems Initiative develops its standards through a consensus development process,
approved by its members and board of directors, which brings together volunteers representing varied viewpoints and interests to
achieve the final product. Volunteers are not necessarily members of Accellera Systems Initiative and serve without compensation.
While Accellera Systems Initiative administers the process and establishes rules to promote fairness in the consensus development
process, Accellera Systems Initiative does not independently evaluate, test, or verify the accuracy of any of the information contained
in its standards.
Use of an Accellera Systems Initiative standard is wholly voluntary. Accellera Systems Initiative disclaims liability for any personal
injury, property or other damage, of any nature whatsoever, whether special, indirect, consequential, or compensatory, directly or
indirectly resulting from the publication, use of, or reliance upon this, or any other Accellera Systems Initiative standard document. By
using an Accellera Systems Initiative standard, you agree to defend, indemnify and hold harmless Accellera Systems Initiative and
their directors, officers, employees and agents from and against all claims and expenses, including attorneys' fees, arising out of your
use of an Accellera Systems Initiative standard.
Accellera Systems Initiative does not warrant or represent the accuracy or content of the material contained herein, and expressly
disclaims any express or implied warranty, including any implied warranty of merchantability or suitability for a specific purpose, or
that the use of the material contained herein is free from patent infringement. Accellera Systems Initiative standards documents are
supplied "AS IS."
The existence of an Accellera Systems Initiative standard does not imply that there are no other ways to produce, test, measure,
purchase, market, or provide other goods and services related to the scope of an Accellera Systems Initiative standard. Furthermore,
the viewpoint expressed at the time a standard is approved and issued is subject to change due to developments in the state of the
art and comments received from users of the standard. Every Accellera Systems Initiative standard is subjected to review periodically
for revision and update. Users are cautioned to check to determine that they have the latest edition of any Accellera Systems
Initiative standard.
In publishing and making this document available, Accellera Systems Initiative is not suggesting or rendering professional or other
services for, or on behalf of, any person or entity. Nor is Accellera Systems Initiative undertaking to perform any duty owed by any
other person or entity to another. Any person utilizing this, and any other Accellera Systems Initiative standards document, should
rely upon the advice of a competent professional in determining the exercise of reasonable care in any given circumstances.
Accellera Systems Initiative may change the terms and conditions of this Statement of Use from time to time as we see fit and in our
sole discretion. Such changes will be effective immediately upon posting, and you agree to the posted changes by continuing your
access to or use of an Accellera Systems Initiative standard or any of its content in whatever form.
Interpretations: Occasionally questions may arise regarding the meaning of portions of standards as they relate to specific
applications. When the need for interpretations is brought to the attention of Accellera Systems Initiative, Accellera Systems Initiative
will initiate action to prepare appropriate responses. Since Accellera Systems Initiative standards represent a consensus of
concerned interests, it is important to ensure that any interpretation has also received the concurrence of a balance of interests. For
this reason, Accellera Systems Initiative and the members of its Technical Committee are not able to provide an instant response to
interpretation requests except in those cases where the matter has previously received formal consideration.
Comments for revision of Accellera Systems Initiative standards are welcome from any interested party, regardless of membership
affiliation with Accellera Systems Initiative. Suggestions for changes in documents should be in the form of a proposed change of
text, together with appropriate supporting comments. Comments on standards and requests for interpretations should be addressed
to:
Accellera Systems Initiative Inc.
1370 Trancas Street #163, Napa, CA 94558, USA
E-mail: info@accellera.org
Note
Attention is called to the possibility that implementation of this standard may require use of subject matter
covered by patent rights. By publication of this standard, no position is taken with respect to the existence or
validity of any patent rights in connection therewith. Accellera Systems Initiative shall not be responsible for
identifying patents for which a license may be required by an Accellera Systems Initiative standard or for
conducting inquiries into the legal validity or scope of those patents that are brought to its attention.
Accellera Systems Initiative is the sole entity that may authorize the use of Accellera Systems Initiative-owned certification marks
and/or trademarks to indicate compliance with the materials set forth herein.
Authorization to photocopy, redistribute, publish, create derivative works from, sub-license or charge others to access or use,
participate in the transfer or sale of, or directly or indirectly commercially exploit in whole or part of any Accellera Systems Initiative
standard for internal or personal use must be granted by Accellera Systems Initiative Inc., provided that permission is obtained from
and any required fee is paid to Accellera Systems Initiative. To arrange for authorization please contact Lynn Bannister, Accellera
Systems Initiative, 1370 Trancas Street #163, Napa, CA 94558, 707-251-9977, lynn@accellera.org.
Permission to photocopy portions of any individual standard for educational classroom use can also be obtained from Accellera
Systems Initiative.
Overview of this standard
This section describes the purpose and organization of this standard, the Accellera Standard Open Verification Library (Std. OVL)
libraries implemented in IEEE Std. 1364-1995 Verilog and SystemVerilog 3.1a, Accellera’s extensions to IEEE Std. 1364-2001
Verilog Hardware Description Language and Library Reference Manual (LRM)
Intent and scope of this document
The intent of this standard is to define Std. OVL accurately. Its primary audience is designers, integrators and verification engineers
to check for good/bad behavior, and provides a single and vendor-independent interface for design validation using simulation, semi-
formal and formal verification techniques. By using a single well-defined interface, the OVL bridges the gap between the different
types of verification, making more advanced verification tools and techniques available for non-expert users.
From time to time, it may become necessary to correct and/or clarify portions of this standard. Such corrections and clarifications may
be published in separate documents. Such documents modify this standard at the time of their publication and remain in effect until
superseded by subsequent documents or until the standard is officially revised.
ACKNOWLEDGEMENTS
These Accellera Systems Initiative OVL Libraries and Library Reference Manual (LRM) were specified and developed by experts
from many different fields, including design and verification engineers, Electronic Design Automation companies and members of the
OVL VSVA technical committee. The following contributors were involved in the creation of previous versions of the OVL: Bryan
Bullis, Ben Cohen, Himanshu Goel, Vijay Gupta, Brent Hayhoe, Richard Ho, Dmitry Korchemny, Narayanan Krishnamurthy, David
Lacey, Jim Lewis, Andrew MacCormack, Erich Marschner, Paul Menchini, Torkil Oelgaard, Uma Polisetti, Joseph Richards, Erik
Seligman, Vinaya Singh, Sean Smith, Andy Tsay, Mike Turpin, Bipul Talukdar, and others.
The OVL technical committee and chair reports to Accellera TC Chairman:
TC Chairman Karen Pieper
The following individuals contributed to the creation, editing and review of the Accellera Systems Initiative OVL Libraries and LRM:
Alan Becker/ARM, Shalom Bresticker/Intel, Eduard Cerny/Synopsys, Harry Foster/Mentor Graphics, Vijay Shanker
Gottimukkula/Synchronicity, Jerry Kaczinsky/Aldec, David Lacey/Hewlett Packard, Kenneth Elmkjær Larsen/Mentor Graphics (OVL
Chair), Ramesh Sathianathan/Mentor Graphics, Chris Shaw/Mentor Graphics, Manoj Kumar Thottasseri/Synopsys .
Major version 2.0 released June 2007
Minor version 2.1 released September 2007
Minor version 2.2 released January 2008
Minor version 2.3 released June 2008
Minor version 2.4 released March 2009
Minor version 2.5 released July 2010
Minor version 2.6 released November 2011
Minor version 2.7 released January 2013
Minor version 2.8 released September 2013
Minor version 2.8.1 released March 2014
Accellera Standard OVL V2 LRM, 2.8.1
5
March 2014
Table of Contents
Chapter 1
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
About this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Notational Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Assertion Syntax Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Chapter 2
OVL Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
OVL Assertion Checkers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
HDL Implementations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
OVL Checker Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Verilog OVL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Library Directory Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Use Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Header Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
VHDL OVL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Library Directory Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Use Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Primary VHDL Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Chapter 3
OVL Checkers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
ovl_always . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
ovl_always_on_edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
ovl_arbiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
ovl_bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
ovl_change. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
ovl_code_distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
ovl_coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
ovl_crc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
ovl_cycle_sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
ovl_decrement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
ovl_delta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
ovl_even_parity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
ovl_fifo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
ovl_fifo_index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
ovl_frame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
ovl_handshake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
ovl_hold_value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
ovl_implication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
ovl_increment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
评论0