Timothy Pertuit, David Lacey, Doug Gibson

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Life Science Services and Solutions
Universal Verification Methodology (UVM) Benefits Mustafa Khairallah Boost Valley Boost Valley Consulting 1.
Technical Architectures
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
Overview Presentation MKT-CODE-P-001E. Introduction Single Channel Codec designed to increase the flexibility of NetVu Connected analogue/IP CCTV networks.
TM Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
SystemC: A Complete Digital System Modeling Language: A Case Study Reni Rambus Inc.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
Enabling the Future Service-Oriented Internet (EFSOI 2008) Supporting end-to-end resource virtualization for Web 2.0 applications using Service Oriented.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
WEB API AND CLOUD DEVELOPMENT BY TRAWEX TECHNOLOGIES.
Database Principles: Fundamentals of Design, Implementation, and Management Chapter 1 The Database Approach.
Software Reuse. Objectives l To explain the benefits of software reuse and some reuse problems l To discuss several different ways to implement software.
J2EE Platform Overview (Application Architecture)
.NET Omid Darroudi.
Operating System Structures
What are they? The Package Repository Client is a set of Tcl scripts that are capable of locating, downloading, and installing packages for both Tcl and.
CIM Modeling for E&U - (Short Version)
Object-Oriented Analysis and Design
Self Healing and Dynamic Construction Framework:
Introduction to Design Patterns
Unified Modeling Language
Network Operating Systems Examples
PPP PROTOCOL The First semester
Design and Implementation
IBM Start Now Host Integration Solutions
API Documentation Guidelines
ENTERPRISE BUSINESS SYSTEMS part II
NET323 D: Network Protocols
Chapter 3: Windows7 Part 4.
Grid Computing B.Ramamurthy 9/22/2018 B.Ramamurthy.
Stitching UVM Test benches into Integration-Level
Lesson plans Introduction.
INTER-Iot kick-off meeting
Stitching UVM Test benches into Integration-Level
RAIN Live Oak Data Provenance API
Automating Profitable Growth™
NET323 D: Network Protocols
Chapter 2: The Linux System Part 1
Lecture 1: Multi-tier Architecture Overview
Chapter 2 The Origins of Software
Service Oriented Architecture (SOA)
MLWG - User Requirements
Automating Profitable Growth™
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Constructing MDA-based Application Using Rational XDE for .NET
Srinivas Aluri Jaimin Mehta
An Introduction to Software Architecture
Objectives and Guiding Principles for the Implementation Leader
Objectives and Guiding Principles for the Implementation Leader
Verilog-AMS Integration with P1800 SV Standard
Chapter 17: Client/Server Computing
Technical Capabilities
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Scott Thorne & Chuck Shubert
Student: Popa Andrei-Sebastian
SAP Hybris Service Cloud
DATABASE DESIGN & DEVELOPMENT
Automating Profitable Growth
The Anatomy and The Physiology of the Grid
Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003
Software interoperability in the NGN Service layer
In-house Developed Library Solutions
ONAP Architecture Principle Review
Generate the Best Leads using Marketing Service From Global Mail Media GLOBAL MAIL MEDIA
Presentation transcript:

Timothy Pertuit, David Lacey, Doug Gibson Is Specman Still Relevant? Using UVM-ML to Take Advantage of Multiple Verification Languages Timothy Pertuit, David Lacey, Doug Gibson Why UVM-ML UVM-ML Basics (cont) UVM-ML Register Model Porting UVMe to UVM-ML From SystemVerilog, to Specman/e, to SystemC companies need the flexibility to choose the right language for the right problem. They need to reuse existing code and tests from a variety of sources from a long history of verification. UVM-ML provides a mechanism for companies to utilize the best of all technologies, deploying them based on the needs of the program, the cost of the tools, the target audience, and the many other factors that drive our industry today. Both UVM-SV and UVM-e include register models as part of their methodology, but the two implementations are distinct and separate. UVM-e uses a model called “vr_ad” whereas UVM-SV has the UVM Register Layer implementation. The base UVM-ML OA implementation includes a TLM interface providing access to a vr_ad based register model from UVM-SV. This consists of a basic interfaces for reading, writing, peeking, and poking registers from UVM-SV through the vr_ad model, however it does not include a mode that provides the same seamless type of integration as the stimulus aspects do. To make the model more usable from both languages, SDL implemented a proxy mechanism to bridge between the UVM-SV register layer model and the UVM-e vr_ad model. The implementation depicted in the above figure consists of a proxy UVM-SV VC and adapters for interfacing with the UVM Register Layer. Like the stimulus implementation, all accesses (frontdoor and backdoor) are proxied to vr_ad for interacting with the DUT. Register changes observed by vr_ad are also send back through as if monitored natively in UVM-SV. This allows sequences and checkers to be written in either language while keeping all the register states in sync. This type of setup requires duplicate register models in UVM-SV and Specman. To solve this SDL extended its existing CSR automation infrastructure to support both vr_ad and UVM-SV register model generation from a common CSR source description. The paper discusses two interface VCs that were converted from UVM-e to UVM-SV including support for UVM-ML. These two VCs were ported because the usage of them needed to shift from internal use only VIP to ones that would be shared across multiple companies. UVM-ML made it possible to transition these interface VCs to UVM-SV with a minimum of disruption to existing test benches and tests spanning four IP block environments and three chip environments. The Gen-Z VC pictured below was directly ported, nearly line by line, from UVM-e to UVM-SV. In most cases the UVM-e/aspect oriented functionality was able to be refactored to fit within the limits of SystemVerilog. The UVM-e implementation of the Gen-Z VC was approximately 4000 lines while the UVM-SV content was 4600 lines. The UVM-ML (e and SV) content accounted for about 600 additional lines. Through this conversion, we grew the total lines of code by about 25% over all, but half of that growth was in the UVM-ML content itself. Connection Framework Data Serialization Data Deserialization Source Language TLM Ports Destination Language TLM Ports UVM-ML supports TLM 1.0 and 2.0 to enable support for a wide variety of applications and use cases UVM-ML UVM-SV UVMe High Industry Adoption Aspect Oriented UVM-ML Stimulus Highly Capable Verification Solutions Integrating stimulus mechanisms across multiple languages is required in order to provide a full featured UVM-ML environment. UVM-ML provides a set of TLM ports and implementations to facilitate the passing of data between the sequencers of different languages. These ports help to define a “proxy” sequencer that can be used in the foreign language and interact with the native language sequencer of the UVM component being used to drive stimulus. In sophisticated UVM components, it is not uncommon for the sequencer to provide functionality to its sequences to aid in creating interesting and complex stimulus. With UVM-ML, the test writer may not have direct access to the native sequencer that the sequences will be run on. It takes some thought and care to develop an API that will be exported to the foreign language for use by the remote sequences. While UVM-ML provides the basics for supporting stimulus across the language, one area that it did not natively support was the handling of deferred responses. Many protocols support a deferred response capability where many requests may be issued at a time and responses come back much later in time, potentially out of order with respect to the original requests. The paper details the implementation of a mechanism for proxying the responses from a UVM-SV’s “get_response()” API through back to a UVMe sequencer to enable more complex sequence and test writing. Advanced Verification Language Features Large Staff Pool Multiple Vendor Choices High Level Modeling Highest Performance UVM-SC SystemVerilog and UVM-SV have nearly become the de facto standard for the Verification Industry. It offers a wide variety of benefits due to it’s widespread use. Specman/e has a long history going back through eRM that helped to shape UVM. SystemC can offer best in class performance and excels at high level modeling. Each of these languages can be used to build highly capable verification solutions across a wide variety of use cases and types of designs. UVM itself is a standard that aims to improve the interoperability of VIP along with reducing the cost of repurchasing or rewriting IP for each new project. With multiple languages in use an additional framework is needed to reach the interoperability goal. UVM-ML is an open source framework that aims to bridge these languages to provide an even greater level of reuse. Conclusion SDL has been using UVM-ML functionality for multiple years across numerous projects and designs. Through multiple projects, SDL has been able to take advantage of many of the advanced testing features available in Specman/e while utilizing a variety of UVM-SV content from internally developed VCs to externally purchased Verification Ips. Through the capabilities already present in UVM-ML as well as those added by SDL itself, the larger integration and test teams have been insulated from most of the multi-language aspects. So is Specman still relevant? We believe yes! It is still relevant to our industry as it has many advanced features that are not available in other languages. However UVM-ML is a necessary component of the solution as it is clear that no one language has yet filled all of the needs of the verification industry. UVM-ML Basics The foundation of the UVM-ML framework is in providing a mechanism for creating communication channels between various languages. This is accomplished primarily through the use of TLM ports. UVM-ML provides the backend components necessary for creating connections between TLM ports of different languages