HOME   IP   TECHNICAL BULLETIN   ARTICLE ARCHIVES   ARTICLE

DesignWare Technical Bulletin Article

Search Tools

Spotlight

New Release of DesignWare OCP Verification IP

The new release of DesignWare OCP Verification IP includes the following enhancements and quality improvements that have been done as a part of 1.40a and 1.50a FP releases.

  • Using DVE to Debug VMM/RVM Simulations

  • VCS users can now use Discovery Visual Environment (DVE) TBUG feature to see the contents of public and protected variables of VMM classes for DesignWare OCP VIP.

  • Restricting randomized configurations to comply with a specific version of OCP

  • If you randomize your configuration object, the new m_en_max_rand_ocp_ver property can constrain the configuration values to comply with a specific version of OCP (2.0, 2.1, or 2.2). This feature applies for VMM testbenches.

  • Support for Write Response Extension (2.2wrext)

  • The OCP Master and Slave VIP supports a feature (2.2wrext) which is an extension of the standard OCP Write Response model described in the 'Protocol Options' section of the Open Core Protocol Specification, Release 2.2; Document Revision-1.1. This extension provides the capability for an OCP interface to issue responses to all requests except posted writes. To enable this feature, set the new m_en_max_rand_ocp_ver configuration property to "UNLIMITED". This feature applies for VMM and HDL testbenches.

  • Support for non-default tie-offs

  • Non-default tie-off values may now be specified for signals that are not configured into the interface. The tie-off value for a signal tells a component what the effective value of that signal is. (In other words, it tells the component that it should behave as if the signal is present and that it should act as if it is driving the indicated constant value. This feature applies for VMM and HDL testbenches.

  • New HDL (command-based) examples that demonstrate OCP 2.0, 2.1, and 2.2 features

  • These Verilog and VHDL examples use the VIP models connected together to demonstrate OCP setup and basic operation. The examples are as follows:
    • ocp20_sys_vlog/vhdl (demonstrates block burst transactions)
    • ocp21_sys_vlog/vhdl (demonstrates thread-based burst transactions)
    • ocp22_sys_vlog/vhdl (demonstrates tag-based burst transactions)

  • New Parameters to Set Prerequisites for Protocol Phases

  • The following parameters have been added for specifying how protocol requirements for starting the request and data handshake phases are evaluated in the DesignWare OCP VIP master:
    • m_en_req_actual_start
    • m_en_dhs_actual_start
    The following parameter has been added for specifying when the delay associated with a data handshake phase in the master starts.
    • m_en_dhs_delay_start
    The following parameter has been added for specifying how protocol requirements for starting the response phase are evaluated in the DesignWare OCP VIP slave.
    • m_en_resp_actual_start

  • New transaction properties (start_time and end_time)

  • Dataflow transaction objects now include start_time and end_time values. The VIP automatically fills in the start time and end time for each OCP transaction (values are in simulation time units). This feature applies for VMM and HDL testbenches.

  • New transaction phase status values

  • The values that are used to indicate phase status for a transaction or a data flow within a transaction have changed. These values are used for the following transaction properties:
    • m_en_request_status
    • m_en_datahandshake_status
    • m_en_response_status
    This feature applies for VMM and HDL testbenches.

  • Accept-based flow control

  • The OCP VIP can now perform accept-based (blocking) flow control, in addition to the thread-based (non-blocking) flow control already supported. This feature applies for VMM and HDL testbenches.

  • Instance-based Names for Coverage Groups

  • To make it easier to analyze coverage groups (with URG, for example), the DesignWare OCP VIP can include the coverage callback instance name as a prefix to coverage group names. The coverage callback classes are enhanced to consider the \'inst\' value in the optional cfg parameter to the constructor of the class.