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.2 - Nov 2019 | |
UVM Connect v2. 3.1 - May 2015 | Notes for release v2.3.1 |
Feature summary | |
Bugzilla fixes | |
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. |
---------- 11-2-19: Updates after VCS, UVM-1.2 testing; UVM-Connect forum feedbabck
M examples/config_exts/common/producer_loopback_dual_ports.svh M examples/config_exts/common/producer_loopback.svh
A examples/osci_tests/
M examples/commands/ex_config.cpp M examples/commands/ex_factory.cpp M examples/commands/ex_phase_control.cpp M examples/commands/ex_print_topology.cpp M examples/commands/ex_reporting.cpp
M examples//gold/
M examples/commands/run_questa M examples/connections/run_questa M examples/converters/run_questa M examples/field_types/run_questa
M examples/common/Makefile.questa M examples/converters/Makefile.questa
”Ambient gcc” refers to the gcc/g++ found in the shell environment (i.e. stipulated by $PATH variable) rather than Questa’s default gcc/g++.
M examples/common/Makefile.vcs
M examples/connections/common/producer2.sv M examples/connections/common/producer.sv M examples/connections/common/scoreboard.sv M lib/Makefile.uvmc_sysc_standalone M src/connect/sv/uvmc_commands.sv
M lib/.toolsrc
M src/connect/sc/uvmc_tlm_gp_converter.cpp M src/connect/sc/uvmc_xl_converter.cpp
M src/connect/sv/uvmc_converter.svh M src/connect/sv/uvmc_xl_converter.svh
---------- =+= 9-7-19: UVM-Connect misc fixes, improvements.
M src/connect/sc/uvmc_channels.h
:wait_connected() method (see comments in this source file).
M lib/Makefile.uvmc_sysc_standalone M lib/Makefile.uvmc_sysc_standalone_osci M lib/Makefile.uvmc_sysc_standalone_vista
---------- =+= 4-4-18: Improvements to UVM-Connect library M xl_uvmc/uvmc-2.3/src/connect/sc/uvmc_xl_config.cpp M xl_uvmc/uvmc-2.3/src/connect/sc/uvmc_xl_config.h M xl_uvmc/xl-uvmc-2.3/src/connect/sc/uvmc_xl_config.cpp M xl_uvmc/xl-uvmc-2.3/src/connect/sc/uvmc_xl_config.h - Documentation improvements - Efficiency improvements to get_partsel_bit(), put_partsel_bit() functions in class uvmc_xl_config. - Fixes so that both static and sideband config payloads can be independently overriden with external payload storage. And that the deletion operators are made cognizant of this option. ---------- =+= 1-8-18: Added new UVM example and documentation section A shared/xl_uvmc/uvmc-2.3/examples/config_exts/ common/loopback_dual_ports.h common/producer_loopback_dual_ports.svh common/producer_loopback.h sv2sc2sv_xl_gp_converter_loopback_dual_ports.cpp sv2sc2sv_xl_gp_converter_loopback_dual_ports.sv - Added new UVM example and documentation section showing technique to create 2 instances of UVM TLM target ports each with their own dedicated ::b_transport() callbacks. ---------- =+= 10-10-17: Bug fixes and general improvements to UVM-Connect and XL-UVM-Connect trunk/shared/xl_uvmc/ A uvmc-2.3/examples/converters/consumer.sv A uvmc-2.3/examples/converters/producer.h A uvmc-2.3/examples/converters/sc_converter_bidir_trans.cpp A uvmc-2.3/examples/converters/sv_converter_bidir_trans.sv A xl-uvmc-2.3/examples/converters/consumer.sv A xl-uvmc-2.3/examples/converters/producer.h A xl-uvmc-2.3/examples/converters/sc_converter_bidir_trans.cpp A xl-uvmc-2.3/examples/converters/sv_converter_bidir_trans.sv - Added new test for checking UVMC connections in 2 directions as received from user on UVMC forum on Verification Academy - Fixed up UVMC and XL-UVMC regressions so that they can easily be run recursively in root area using test_drive.csh methodology as is deployed under examples/xl_vip/Makefile. This required tweaks of the UVMC env scripts and some other minor adjustments to Makefile's. M uvmc-2.3/src/connect/sc/uvmc_common.cpp M xl-uvmc-2.3/src/connect/sc/uvmc_connect.cpp M uvmc-2.3/src/connect/sv/uvmc_tlm2.sv M xl-uvmc-2.3/src/connect/sv/uvmc_tlm2.sv - Fixed bug as received from user on UVMC forum on Verification Academy where masking and checking for compatible port connections was not being done correctly. See changes above for new regression test added to examples/converters/ to test for this issue. - Fixed issue found in uvmc_tlm2.sv where nb_transport_fw,bw() calls were not properly checking return status for UVM_TLM_COMPLETED. M uvmc-2.3/src/connect/sc/uvmc_connect.cpp M xl-uvmc-2.3/src/connect/sc/uvmc_connect.cpp - Fixed bug from user on UVMC forum where 'filename' was being incorrectly referenced as 'file' in error message. M xl-uvmc-2.3/src/connect/sc/uvmc_export_stubs.cpp
Notes for release v2.3.1
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. // //------------------------------------------------------------//