These notes provide information about version updates, bugfixes, known issues, changes to supported platforms, etc. Updates and changes made prior to public release are not included.
Release Notes - UVM Connect | |
These notes provide information about version updates, bugfixes, known issues, changes to supported platforms, etc. | |
UVM Connect v2. 3.0 - March 2015 | Notes for release v2.3.0 |
Feature summary | This uvmc-2.3.0/ library is a variation of the original uvmc-2.2/ library that has had the following additional features added: |
Support for “fast packers” | The uvmc-2.3.0 release adds support for “fast packers” for the specific case of passing TLM generic payloads (class uvm_tlm_generic_payload) across UVM-Connect’ed sockets. |
Support for SC <-> SC peer UVM-Connect’ions | Previously support for SC <-> SC peer UVM-Connect’ions did not exist but was added to allow SystemC applications to create UVM-Connect’ions without knowing apriori whether the opposite endpoint will be in a SystemC model or an SV-UVM model. |
Support for SystemC standalone libraries | In addition to support for native Questa (and VCS and IUS) compiled SystemC libraries, support was also added for standalone libraries that can be used with OSCI SystemC and Vista SystemC. |
Support for “configuration extensions” | Configuration extensions are ignorable extensions (in the sense of TLM-2.0 generic payloads) that can be used to pass configurations which accompany generic payloads that travel from TLM-2.0 initiators to targets. |
Support for order-independent rendezvous | The uvmc-2.3.0 release has been enhanced to allow for order-independent rendezvous of TLM port connections. |
UVM Connect v2. 2 - August 2012 | Notes for release v2.2. |
UVM Connect v2. 1.4 - February 2012 | Notes for release v2.1.4. |
Notes for release v2.3.0
This uvmc-2.3.0/ library is a variation of the original uvmc-2.2/ library that has had the following additional features added:
The uvmc-2.3.0 release adds support for “fast packers” for the specific case of passing TLM generic payloads (class uvm_tlm_generic_payload) across UVM-Connect’ed sockets.
These “fast packers” add two features,
There are two flavors of fast packers,
1. class uvmc_xl_converter 2. class uvmc_tlm_gp_converter
The two new classes have both been enhanced for better performance than the default packers, and both support unlimited payloads. But there are slightly differing semantics for each of the two.
src/connect/ sc/uvmc_tlm_gp_converter.* sc/uvmc_xl_converter.* sv/uvmc_converter.svh sv/uvmc_xl_converter.svh
examples/xlerate.connections/Makefile
Previously support for SC <-> SC peer UVM-Connect’ions did not exist but was added to allow SystemC applications to create UVM-Connect’ions without knowing apriori whether the opposite endpoint will be in a SystemC model or an SV-UVM model. It also provides a very easy, intuitive way to bind SystemC TLM-2.0 ports and let the overloaded variations of the uvmc_connect() function automatically figure out whether they are initiator port or target export bindings. Just pass the port and the ID string and Presto ! UVM-Connect figures out the rest !
In addition to support for native Questa (and VCS and IUS) compiled SystemC libraries, support was also added for standalone libraries that can be used with OSCI SystemC and Vista SystemC.
You will find special Makefile’s for the standalone libraries here,
lib/ Makefile.uvmc_sysc_standalone_questa Makefile.uvmc_sysc_standalone_osci Makefile.uvmc_sysc_standalone_vista
These each build a library called uvmc.so which can be directly linked into the Questa, OSCI SystemC or Vista SystemC kernel program respectively.
NOTE: For the case of OSCI and Vista this assumes SV-UVM is not even being used. In fact, the SV-UVM infrastructure is completely removed from these libraries. They only support peer SC <-> SC UVM-Connect’ions for these use models.
See Compiling Standalone SystemC Libraries in the main UVM Connect->Introduction section for more info on how to build these standalone libraries.
Configuration extensions are ignorable extensions (in the sense of TLM-2.0 generic payloads) that can be used to pass configurations which accompany generic payloads that travel from TLM-2.0 initiators to targets.
The UVMC config extension base class uvmc_xl_config contains a simple abstraction of a set configuration registers that can act as shadows of the associated configuration register set one might find in the target model.
There are two types of configuration extensions that are handled by class uvmc_xl_config,
1. Static configuration register
2. Sideband configuration register
NOTE: The class uvmc_xl_config TLM GP extension is designed to be used only with TLM GPs passed to the class uvmc_xl_converter fast packer described above. You can attach them to TLM GPs that use other packers but the extension itself may not accompany the TLM GP across the TLM channel in that case (certainly not for UVMC default converters or class uvmc_tlm_gp_converter fast packers).
For the config extensions themselves see,
src/connect/ sc/uvmc_xl_config.* sv/uvmc_xl_config.svh
The uvmc-2.3.0 release has been enhanced to allow for order-independent rendezvous of TLM port connections. There is now a more relaxed dependency on the ordering between when an SV-side peer uvmc_connect()’s its port and when the SC-side peer does so. Same applies for SystemC peer-to-peer UVM-Connect’ions.
This allows more flexibly for “late bindings” of UVM-Connect’ions. Only requirement is that no transaction communication is done on any cross-language port that has not been bound. An error will occur if any such attempts are prematurely made before all peers have connected.
Notes for release v2.2.
cd $UVMC_HOME/lib make -f Makefile.<tool> OVM=1 all cd $UVMC_HOME/examples_ovm/connections make -f Makefile.<tool> sv2sc
See Using with OVM for details.
Notes for release v2.1.4.
Key additions to this release include
While the kit is intended to work with all three simulators, correct operation on other simulators has not been verified.
UVM 1.1a | see Overview for instructions on enabling earlier versions |
Questa 10.1 | see Overview for minor restrictions for use with 10.0c or later. |
//------------------------------------------------------------// // Copyright 2009-2015 Mentor Graphics Corporation // // All Rights Reserved Worldwide // // // // Licensed under the Apache License, Version 2.0 (the // // "License"); you may not use this file except in // // compliance with the License. You may obtain a copy of // // the License at // // // // http://www.apache.org/licenses/LICENSE-2.0 // // // // Unless required by applicable law or agreed to in // // writing, software distributed under the License is // // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // // CONDITIONS OF ANY KIND, either express or implied. See // // the License for the specific language governing // // permissions and limitations under the License. // //------------------------------------------------------------//