Cadence® system design and verification solutions, integrated under our System Development Suite, provide the simulation, acceleration, emulation, and management capabilities.
System Development Suite Related Products A-Z
Cadence® digital design and signoff solutions provide a fast path to design closure and better predictability, helping you meet your power, performance, and area (PPA) targets.
Full-Flow Digital Solution Related Products A-Z
Cadence® custom, analog, and RF design solutions can help you save time by automating many routine tasks, from block-level and mixed-signal simulation to routing and library characterization.
Overview Related Products A-Z
Driving efficiency and accuracy in advanced packaging, system planning, and multi-fabric interoperability, Cadence® package implementation products deliver the automation and accuracy.
Cadence® PCB design solutions enable shorter, more predictable design cycles with greater integration of component design and system-level simulation for a constraint-driven flow.
An open IP platform for you to customize your app-driven SoC design.
Comprehensive solutions and methodologies.
Helping you meet your broader business goals.
A global customer support infrastructure with around-the-clock help.
24/7 Support - Cadence Online Support
Locate the latest software updates, service request, technical documentation, solutions and more in your personalized environment.
Cadence offers various software services for download. This page describes our offerings, including the Allegro FREE Physical Viewer.
Get the most out of your investment in Cadence technologies through a wide range of training offerings.
This course combines our Allegro PCB Editor Basic Techniques, followed by Allegro PCB Editor Intermediate Techniques.
Virtuoso Analog Design Environment Verifier 16.7
Learn learn to perform requirements-driven analog verification using the Virtuoso ADE Verifier tool.
Exchange ideas, news, technical information, and best practices.
The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information.
It's not all about the technlogy. Here we exchange ideas on the Cadence Academic Network and other subjects of general interest.
Cadence is a leading provider of system design tools, software, IP, and services.
Get email delivery of the Cadence blog featured here
Historically it’s been very common for e users to have to mix other programming languages with their e verification environment. Some examples include adding C or C++ reference models, contributing e Universal Verification Components (UVCs) to non-e testbenches, or even interfacing to Matlab models. To stay in the vanguard of this ongoing trend, the 9.2 Update release posted last week is specifically aimed at formalizing additional multi-language support for verification in general, including e/Specman-specific enhancements. So what is important to you as an e user? First, consider the following three most common use cases:
e “over” SystemVerilogThis is the case where you want to take advantage of some SystemVerilog Verification IP (VIP) in your e based environment. A new SoC Kit workshop guides you through how to use new 9.2 Update technology features like OVM method ports, new utilities like mltypemap (described below), and multi-language sequences to incorporate / reuse that SystemVerilog VIP in your e testbench.
SystemVerilog “over” eIn this case, you want to deliver some e VIP to your SystemVerilog colleagues that don’t wish to know anything about the e language (their loss, eh?) To support this, enhancements to the OVM Interface Generator (OIG), along with the SOC kit introduction of the GUI based OVM Interface Configurator (OIC), provide the means necessary to create an SystemVerilog API to your e VIP. Again, the workshop in the SoC Kit guides you through the steps to use these utilities.
Integrating SystemC reference models into your e environmentClearly the main technology enabler here is TLM ports. As noted in some earlier Team Specman posts, the team has been steadily enhancing the e implementation of TLM ports that will help in creating multi language environments, and as will be discussed in more detail below, the 9.2 Update release is another step in this direction.
Keeping the above use cases in mind, let’s turn around to another perspective, and review the highlights about the specific multi-language related technologies introduced in the 9.2 Update release.
OVM Interface Generator (OIG) and OVM Interface Configurator (OIC) – These utilities are used to create a SystemVerilog interface for an existing e VIP. The new OIC utility, which is shipped as part of SoC Kit, provides a handy GUI front end to OIG that reads in the e VIP and then guides the user through a series of questions to create both the OIG input files as well as an example environment demonstrating the SystemVerilog interface. In the 9.2 Update release the way that e sequences are exported was improved to make the connection between SystemVerilog sequences and e sequences more direct. This improvement enables layering sequence drivers, and removes many limitations such as grab/ungrab across the language boundary. (True story: these tools are used by Cadence’s own Verification IP R&D to rapidly develop VIP interfaces as required by the over 30 different protocols they are supporting.)TLM ports – As hinted at above, TLM ports form the communication backbone between all three languages in OVM. The 9.2 update release brings some improvement to their support in e.
OVM Method ports – These ports have been in the tools as an “early adopter" feature for a couple releases, and thanks to feedback from curious Specmaniacs they have now achieved production status. In a nutshell, the way they work is that these new ports give a method port-like interface in both directions between e and SystemVerilog. As such, they provide a more flexible interface between e and SystemVerilog than TLM ports, but they are completely complimentary.
Mltypemap – This is a new utility built into %irun that allows the user to map types from one language to another. For example, have you ever wondered what your e struct would look like in SystemVerilog or SystemC? Using this utility you can now quickly find out. The utility is featured as part of the e over SystemVerilog workshop where it is used to map SystemVerilog types into e constructs. Note that in the 9.2 update this feature is still early adopter, but I still suggest giving it a try and sharing your feedback with the community.
Multilanguage SOC kit workshops – There have been some great updates to the SoC Kit workshop collection in the area of Multi Language. There is a new workshop that illustrates the e over SystemVerilog use case that walks the user through the steps needed to reuse an SystemVerilog VIP in an e environment. There were also improvements made to the existing SystemVerilog over e workshop including the steps needed to migrate a previous OIG export to the new Multi Language sequence model.
Finally, since this will be our last post for 2009, on behalf of Team Specman allow me to thank you for tuning into our posts this past year. Have a great holiday season!!!
Brett LammersCoreComp Sr. Technical Leader