SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
Any use of this material without specific permission of Arrow Devices is strictly prohibited
May 2015
UVM	
  Methodology	
  
Topics	
  covered	
  
•  Introduc0on	
  
•  SV	
  Test-­‐bench	
  Architecture	
  
•  UVM	
  Test-­‐bench	
  Architecture	
  
•  UVM	
  Configura0on	
  
•  UVM	
  Messaging	
  
•  UVM	
  Sequences	
  
•  UVM	
  Test	
  
•  UVM	
  Phasing	
  
•  UVM	
  Overriding	
  
2
Arrow Devices Pvt Ltd
 
	
  
	
  
	
  
	
  
Introduc0on	
  
	
  	
  
Arrow Devices Pvt Ltd
UVM Core Capabilities
l Universal Verification Methodology or UVM
Ø  A methodology and a class library for building advanced
reusable verification component
l Relies on strong, proven industry foundations
Ø  The core of its success is adherence to a standard (i.e.
architecture, stimulus creation, automation, factory usage
standards etc.)
Arrow Devices Pvt Ltd
Origin of UVM
Arrow Devices Pvt Ltd
The Goal: Automation
l Coverage Driven Verification
(CDV) environments
l Automated Stimulus
Generation
l Independent Checking
l Coverage Collection
Arrow Devices Pvt Ltd
Following can be automated using UVM
 
	
  
	
  
	
  
SV	
  Test-­‐bench	
  Architecture	
  
	
  
	
  	
  
Arrow Devices Pvt Ltd
SV	
  Testbench	
  Architecture	
  
Arrow Devices Pvt Ltd
 	
  
Example:	
  SV	
  FIFO	
  Testbench	
  
Arrow Devices Pvt Ltd
 
	
  
	
  
	
  
UVM	
  Test-­‐bench	
  Architecture	
  
	
  
	
  	
  
Arrow Devices Pvt Ltd
UVM Test-bench Architecture
Arrow Devices Pvt Ltd
 
Example:	
  UVM	
  FIFO	
  Testbench	
  (1/3)	
  
Arrow Devices Pvt Ltd
 	
  	
  
Arrow Devices Pvt Ltd
	
  
Example:	
  UVM	
  FIFO	
  Testbench	
  (2/3)	
  
•  Descrip0on	
  of	
  Pop	
  Agent	
  
Arrow Devices Pvt Ltd
	
  
Example:	
  UVM	
  FIFO	
  Testbench	
  (3/3)	
  
UVM	
  Class	
  Hierarchy	
  	
  
Arrow Devices Pvt Ltd
UVM Agent
l Agents provide all the verification
logic for a device in the system
l Instantiation and connection logic
is done by the developer in a
standard manner
l A Standard agent has:
Ø  Sequencer for generating
traffic
Ø  Driver to drive the DUT
Ø  Monitor
l Agent has standard configuration
parameters
Arrow Devices Pvt Ltd
UVM Agent: Standard Configuration
l  A standard agent is configured using an enumeration field:
“is_active”
Ø  UVM_ACTIVE:
Ø  Actively drive an interface or device
Ø  Driver, Sequencer and Monitor are allocated
Ø  UVM_PASSIVE:
Ø  Only the Monitor is allocated
l Still able to do checking and collect coverage
l Other user-defined configuration parameters can also be added
Ø  Example: address configuration for slave devices
Arrow Devices Pvt Ltd
Driver-Sequencer Model
Arrow Devices Pvt Ltd
UVM	
  Configurable	
  Bus	
  Environment	
  
Arrow Devices Pvt Ltd
 
	
  
	
  
	
  
UVM	
  Configura0on	
  
	
  
	
  
Arrow Devices Pvt Ltd
UVM Configuration Mechanism
l  The configuration mechanism allows a powerful way for attribute
configuration
l  Configuration mechanism advantages:
Ø  Mechanism semantic allows an upper component to override
contained components values
-  No file changes are required
Ø  Can configure attributes at various hierarchy locations
Ø  Wild cards and regular expressions allow configuration of multiple
attributes with a single command
Ø  Debug capabilities
Ø  Support for user defined types (e.g. SV virtual interfaces)
Ø  Run-time configuration support
Ø  Type safe solution
Arrow Devices Pvt Ltd
UVM Database
l uvm_config_db
l uvm_resource_db
Arrow Devices Pvt Ltd
UVM supports the following database
Example:	
  UVM	
  Configura0on	
  Database	
  
	
  
l 	
  The	
  full	
  signature	
  of	
  set	
  method	
  is	
  	
  
uvm_config_db #( type T = int )::set( uvm_component cntxt ,
string inst_name , string field_name , T value );
interface ahb_if data_port_if( clk , reset );
interface ahb_if control_port_if( clk , reset );
...
uvm_config_db #( virtual ahb_if )::set( null , "uvm_test_top" ,
"data_port" , data_port_if );
uvm_config_db #( virtual ahb_if )::set( null , "uvm_test_top" ,
"control_port" , control_port_if );
Arrow Devices Pvt Ltd
UVM Messaging Facility
l Messages print trace information with advantages over
$display:
Ø Aware of its hierarchy/scope in testbench
Ø Allows filtering based on hierarchy, verbosity, and time
l Simple Messaging:
Ø `uvm_*(string id, string message, <verbosity>);Where
*(severity) is one of fatal, error, warning, info
Ø <verbosity> is only valid for uvm_info
Arrow Devices Pvt Ltd
UVM Sequences
Arrow Devices Pvt Ltd
Transaction : uvm_seq_item
l UVM provides all the necessary operations using factory
registration
Ø  Randomization
Ø  Printing
Ø  Cloning
Ø  Comparing
Ø  Copying
Ø  Packing
Ø  Transaction Recording
Arrow Devices Pvt Ltd
Fifo Sequence Item
Arrow Devices Pvt Ltd
UVM Sequences
l A sequencer controls the generation of random stimulus by
executing sequences
l A sequence captures meaningful streams of transactions
Ø  A simple sequence is a random transaction generator
Ø  A more complex sequence can contain timing, additional
constraints, parameters
l Sequences:
Ø  Allow reactive generation – react to DUT
Ø  Have many built-in capabilities like interrupt support,
arbitration schemes, automatic factory support, etc
Ø  Can be nested inside other sequences
Ø  Are reusable at higher levels
Arrow Devices Pvt Ltd
UVM Sequences
l A sequence is started by two ways
Ø  Setting as the default sequence
Ø  Using a call to its start() method
l Start Method and example
	
  
Virtual	
  task	
  start	
  (uvm_sequencer_base	
  sequencer,	
  //	
  Pointer	
  to	
  sequencer	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uvm_sequence_base	
  parent_sequencer	
  =	
  null,	
  //	
  Relevant	
  if	
  called	
  within	
  a	
  sequence	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  integer	
  this_priority	
  =	
  100,	
  //	
  Priority	
  on	
  the	
  sequencer	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  bit	
  call_pre_post	
  =	
  1);	
  //	
  pre_body	
  and	
  post_body	
  methods	
  called	
  
//	
  For	
  instance	
  -­‐	
  called	
  from	
  an	
  uvm_component	
  -­‐	
  usually	
  the	
  test:	
  
apb_write_seq.start(env.m_apb_agent.m_sequencer);	
  
//	
  Or	
  called	
  from	
  within	
  a	
  sequence:	
  
apb_compare_seq.start(m_sequencer,	
  this);	
  
Arrow Devices Pvt Ltd
Example: FIFO Sequence
Arrow Devices Pvt Ltd
Virtual Sequence
Arrow Devices Pvt Ltd
UVM Test
Arrow Devices Pvt Ltd
UVM Test
l Placing all components in the test requires lot of duplication
l Separate the env configuration and the test
Ø  TB class instantiates and configures reusable components
l Tests instantiate a testbench
Ø  Specify the nature of generated traffic
Ø  Can modify configuration parameters as needed
l Benefits
Ø  Tests are shorter, and descriptive
Ø  Less knowledge to create a test
Ø  Easier to maintain - changes are done in a central location
Arrow Devices Pvt Ltd
UVM Phasing
Arrow Devices Pvt Ltd
UVM Simulation Phases
l The Standard UVM phases
Ø  Build phases, Run-time phases and Clean up phases
l Unique tasks are performed in each simulation phase
Ø  Set-up activities are performed during “testbench
creation”while expected results may be addressed in “check”
Ø  Phases run in order –next phase does not begin until
previous phase is complete
l UVM provides set of standard phases enabling VIP plug&play
Ø  Allows orchestrating the activity of components that were
created by different resources
Arrow Devices Pvt Ltd
UVM Simulation Phases
Arrow Devices Pvt Ltd
Example: FIFO Environment Phases
Arrow Devices Pvt Ltd
UVM Overriding
Arrow Devices Pvt Ltd
Overriding SV components and
Data Objects
l UVM Provides a mechanism for overriding the default data
items and objects in a testbench
l “Polymorphism made easy” for test writers
l Replace ALL instances:
Ø  object::type_id::set_type_override(derived_obj::get
_type())
l Replace Specific instances
Ø  object::type_id::set_inst_override(derived_obj::get_
type(), “hierarchical path”);
Arrow Devices Pvt Ltd
Extensions Using Callbacks
l Like the factory, callbacks are a way to affect an existing
component from outside
l The SystemVeriloglanguage includes built-in callbacks
Ø  e.g. post_randomize(), pre_body()
l Callbacks requires the developer to predict the extension
location and create a proper hook
l Callbacks advantages:
Ø  They do not require inheritance
Ø  Multiple callbacks can be combined
Arrow Devices Pvt Ltd
UVM	
  Advantages	
  (1/2)	
  	
  
•  Standard	
  communica0on	
  between	
  components	
  
•  End	
  of	
  test	
  is	
  well	
  defined	
  
•  All	
  the	
  tasks	
  in	
  the	
  component	
  are	
  pre-­‐defined	
  standard	
  
names	
  by	
  using	
  Phasing	
  
•  Standard	
  Sequencer	
  to	
  Driver	
  Communica0on	
  
•  Separa0ng	
  testbench	
  into	
  structural	
  and	
  behavioral	
  
•  Configura0on	
  database	
  ie	
  either	
  easy	
  to	
  use	
  or	
  to	
  change	
  
	
  
Arrow Devices Pvt Ltd
UVM	
  Advantages	
  (2/2)	
  
•  Using	
  Factory	
  registra0on	
  
•  You	
  can	
  override	
  the	
  type	
  or	
  instance	
  of	
  trasac0ons,	
  
components	
  etc.,	
  
Ø  Configura0on	
  can	
  be	
  changed	
  easily	
  
Ø  Overridden	
  components	
  can	
  be	
  used	
  with	
  less	
  efforts	
  
Ø  Provides	
  user	
  more	
  flexbility	
  in	
  wri0ng	
  tests	
  
•  Reusability	
  
•  Debugging	
  
	
  	
  
Arrow Devices Pvt Ltd
Thank	
  you	
  
Arrow Devices Pvt Ltd

Mais conteúdo relacionado

Mais procurados

Session 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfacesSession 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfaces
Nirav Desai
 
Session 6 sv_randomization
Session 6 sv_randomizationSession 6 sv_randomization
Session 6 sv_randomization
Nirav Desai
 
System verilog verification building blocks
System verilog verification building blocksSystem verilog verification building blocks
System verilog verification building blocks
Nirav Desai
 

Mais procurados (20)

UVM ARCHITECTURE FOR VERIFICATION
UVM ARCHITECTURE FOR VERIFICATIONUVM ARCHITECTURE FOR VERIFICATION
UVM ARCHITECTURE FOR VERIFICATION
 
Session 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfacesSession 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfaces
 
System verilog assertions
System verilog assertionsSystem verilog assertions
System verilog assertions
 
System verilog assertions (sva) ( pdf drive )
System verilog assertions (sva) ( pdf drive )System verilog assertions (sva) ( pdf drive )
System verilog assertions (sva) ( pdf drive )
 
Coverage and Introduction to UVM
Coverage and Introduction to UVMCoverage and Introduction to UVM
Coverage and Introduction to UVM
 
Ambha axi
Ambha axiAmbha axi
Ambha axi
 
verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020
 
Advance Peripheral Bus
Advance Peripheral Bus Advance Peripheral Bus
Advance Peripheral Bus
 
SOC Verification using SystemVerilog
SOC Verification using SystemVerilog SOC Verification using SystemVerilog
SOC Verification using SystemVerilog
 
APB protocol v1.0
APB protocol v1.0APB protocol v1.0
APB protocol v1.0
 
Session 6 sv_randomization
Session 6 sv_randomizationSession 6 sv_randomization
Session 6 sv_randomization
 
SystemVerilog OOP Ovm Features Summary
SystemVerilog OOP Ovm Features SummarySystemVerilog OOP Ovm Features Summary
SystemVerilog OOP Ovm Features Summary
 
UVM Driver sequencer handshaking
UVM Driver sequencer handshakingUVM Driver sequencer handshaking
UVM Driver sequencer handshaking
 
Data types in verilog
Data types in verilogData types in verilog
Data types in verilog
 
Uvm dac2011 final_color
Uvm dac2011 final_colorUvm dac2011 final_color
Uvm dac2011 final_color
 
System verilog coverage
System verilog coverageSystem verilog coverage
System verilog coverage
 
JTAG Interface (Intro)
JTAG Interface (Intro)JTAG Interface (Intro)
JTAG Interface (Intro)
 
Verilog Tasks and functions
Verilog Tasks and functionsVerilog Tasks and functions
Verilog Tasks and functions
 
System verilog verification building blocks
System verilog verification building blocksSystem verilog verification building blocks
System verilog verification building blocks
 
AXI Protocol.pptx
AXI Protocol.pptxAXI Protocol.pptx
AXI Protocol.pptx
 

Destaque

Uvm dcon2013
Uvm dcon2013Uvm dcon2013
Uvm dcon2013
sean chen
 
UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register Package
DVClub
 
Top 10 verification engineer interview questions and answers
Top 10 verification engineer interview questions and answersTop 10 verification engineer interview questions and answers
Top 10 verification engineer interview questions and answers
tonychoper2706
 
Uvm cookbook-systemverilog-guidelines-verification-academy
Uvm cookbook-systemverilog-guidelines-verification-academyUvm cookbook-systemverilog-guidelines-verification-academy
Uvm cookbook-systemverilog-guidelines-verification-academy
Raghavendra Kamath
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)
DVClub
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)
DVClub
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUs
DVClub
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification Experience
DVClub
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through Methodology
DVClub
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
DVClub
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si Validation
DVClub
 

Destaque (20)

Uvm dcon2013
Uvm dcon2013Uvm dcon2013
Uvm dcon2013
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
 
UVM Ral model usage
UVM Ral model usageUVM Ral model usage
UVM Ral model usage
 
UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register Package
 
Basics of Functional Verification - Arrow Devices
Basics of Functional Verification - Arrow DevicesBasics of Functional Verification - Arrow Devices
Basics of Functional Verification - Arrow Devices
 
System Verilog Tutorial - VHDL
System Verilog Tutorial - VHDLSystem Verilog Tutorial - VHDL
System Verilog Tutorial - VHDL
 
Top 10 verification engineer interview questions and answers
Top 10 verification engineer interview questions and answersTop 10 verification engineer interview questions and answers
Top 10 verification engineer interview questions and answers
 
Uvm cookbook-systemverilog-guidelines-verification-academy
Uvm cookbook-systemverilog-guidelines-verification-academyUvm cookbook-systemverilog-guidelines-verification-academy
Uvm cookbook-systemverilog-guidelines-verification-academy
 
Verilog Lecture4 2014
Verilog Lecture4 2014Verilog Lecture4 2014
Verilog Lecture4 2014
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)
 
AMD_11th_Intl_SoC_Conf_UCI_Irvine
AMD_11th_Intl_SoC_Conf_UCI_IrvineAMD_11th_Intl_SoC_Conf_UCI_Irvine
AMD_11th_Intl_SoC_Conf_UCI_Irvine
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUs
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification Experience
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through Methodology
 
Functial Verification Tutorials
Functial Verification TutorialsFunctial Verification Tutorials
Functial Verification Tutorials
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
 
Behavioral modeling of Clock/Data Recovery
Behavioral modeling of Clock/Data RecoveryBehavioral modeling of Clock/Data Recovery
Behavioral modeling of Clock/Data Recovery
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si Validation
 
Verification challenges and methodologies - SoC and ASICs
Verification challenges and methodologies - SoC and ASICsVerification challenges and methodologies - SoC and ASICs
Verification challenges and methodologies - SoC and ASICs
 

Semelhante a UVM Methodology Tutorial

The Verification Methodology Landscape
The Verification Methodology LandscapeThe Verification Methodology Landscape
The Verification Methodology Landscape
DVClub
 
Assurer - a pluggable server testing/monitoring framework
Assurer - a pluggable server testing/monitoring frameworkAssurer - a pluggable server testing/monitoring framework
Assurer - a pluggable server testing/monitoring framework
Gosuke Miyashita
 
Virtual platform
Virtual platformVirtual platform
Virtual platform
sean chen
 
Dolphin: Regression Test System for Latitude
Dolphin: Regression Test System for LatitudeDolphin: Regression Test System for Latitude
Dolphin: Regression Test System for Latitude
Tao Jiang
 
Web Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdfWeb Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdf
SamHoney6
 

Semelhante a UVM Methodology Tutorial (20)

The Verification Methodology Landscape
The Verification Methodology LandscapeThe Verification Methodology Landscape
The Verification Methodology Landscape
 
Beyond Unit Testing
Beyond Unit TestingBeyond Unit Testing
Beyond Unit Testing
 
Assurer - a pluggable server testing/monitoring framework
Assurer - a pluggable server testing/monitoring frameworkAssurer - a pluggable server testing/monitoring framework
Assurer - a pluggable server testing/monitoring framework
 
UVM Basics.pdf
UVM Basics.pdfUVM Basics.pdf
UVM Basics.pdf
 
PhD Slides
PhD SlidesPhD Slides
PhD Slides
 
Breakthrough in Quality Management
Breakthrough in Quality ManagementBreakthrough in Quality Management
Breakthrough in Quality Management
 
Getting started with RISC-V verification what's next after compliance testing
Getting started with RISC-V verification what's next after compliance testingGetting started with RISC-V verification what's next after compliance testing
Getting started with RISC-V verification what's next after compliance testing
 
Testware Hierarchy for Test Automation
Testware Hierarchy for Test AutomationTestware Hierarchy for Test Automation
Testware Hierarchy for Test Automation
 
DEF CON 27 - ALI ISLAM and DAN REGALADO WEAPONIZING HYPERVISORS
DEF CON 27 - ALI ISLAM and DAN REGALADO WEAPONIZING HYPERVISORSDEF CON 27 - ALI ISLAM and DAN REGALADO WEAPONIZING HYPERVISORS
DEF CON 27 - ALI ISLAM and DAN REGALADO WEAPONIZING HYPERVISORS
 
Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...
Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...
Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...
 
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...
 
Maximizing Oracle RAC Uptime
Maximizing Oracle RAC UptimeMaximizing Oracle RAC Uptime
Maximizing Oracle RAC Uptime
 
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sShipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
 
Design for Testability
Design for Testability Design for Testability
Design for Testability
 
Free OpManager training Part1- Discovery and classification season#3
Free OpManager training Part1- Discovery and classification season#3Free OpManager training Part1- Discovery and classification season#3
Free OpManager training Part1- Discovery and classification season#3
 
Virtual platform
Virtual platformVirtual platform
Virtual platform
 
Dolphin: Regression Test System for Latitude
Dolphin: Regression Test System for LatitudeDolphin: Regression Test System for Latitude
Dolphin: Regression Test System for Latitude
 
In this page, we will learn about the basics of OOPs. Object-Oriented Program...
In this page, we will learn about the basics of OOPs. Object-Oriented Program...In this page, we will learn about the basics of OOPs. Object-Oriented Program...
In this page, we will learn about the basics of OOPs. Object-Oriented Program...
 
Web Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdfWeb Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdf
 
DvClub 2102 tlm based software control of uvcs for vertical verification re...
DvClub 2102   tlm based software control of uvcs for vertical verification re...DvClub 2102   tlm based software control of uvcs for vertical verification re...
DvClub 2102 tlm based software control of uvcs for vertical verification re...
 

Mais de Arrow Devices

Mais de Arrow Devices (6)

Arrow Devices MIPI MPHY Verification IP Solution
Arrow Devices MIPI MPHY Verification IP SolutionArrow Devices MIPI MPHY Verification IP Solution
Arrow Devices MIPI MPHY Verification IP Solution
 
Transport Layer (L4) of MIPI Unipro - An Introduction
Transport Layer (L4) of MIPI Unipro - An IntroductionTransport Layer (L4) of MIPI Unipro - An Introduction
Transport Layer (L4) of MIPI Unipro - An Introduction
 
Arrow Devices USB 2.0 Concepts
Arrow Devices USB 2.0 ConceptsArrow Devices USB 2.0 Concepts
Arrow Devices USB 2.0 Concepts
 
Mastery: The key to Success and Happiness
Mastery: The key to Success and HappinessMastery: The key to Success and Happiness
Mastery: The key to Success and Happiness
 
Bidirectional Bus Modelling
Bidirectional Bus ModellingBidirectional Bus Modelling
Bidirectional Bus Modelling
 
FIFO Design
FIFO DesignFIFO Design
FIFO Design
 

Último

Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
chumtiyababu
 

Último (20)

HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 

UVM Methodology Tutorial

  • 1. Any use of this material without specific permission of Arrow Devices is strictly prohibited May 2015 UVM  Methodology  
  • 2. Topics  covered   •  Introduc0on   •  SV  Test-­‐bench  Architecture   •  UVM  Test-­‐bench  Architecture   •  UVM  Configura0on   •  UVM  Messaging   •  UVM  Sequences   •  UVM  Test   •  UVM  Phasing   •  UVM  Overriding   2 Arrow Devices Pvt Ltd
  • 3.           Introduc0on       Arrow Devices Pvt Ltd
  • 4. UVM Core Capabilities l Universal Verification Methodology or UVM Ø  A methodology and a class library for building advanced reusable verification component l Relies on strong, proven industry foundations Ø  The core of its success is adherence to a standard (i.e. architecture, stimulus creation, automation, factory usage standards etc.) Arrow Devices Pvt Ltd
  • 5. Origin of UVM Arrow Devices Pvt Ltd
  • 6. The Goal: Automation l Coverage Driven Verification (CDV) environments l Automated Stimulus Generation l Independent Checking l Coverage Collection Arrow Devices Pvt Ltd Following can be automated using UVM
  • 7.         SV  Test-­‐bench  Architecture         Arrow Devices Pvt Ltd
  • 8. SV  Testbench  Architecture   Arrow Devices Pvt Ltd
  • 9.     Example:  SV  FIFO  Testbench   Arrow Devices Pvt Ltd
  • 10.         UVM  Test-­‐bench  Architecture         Arrow Devices Pvt Ltd
  • 12.   Example:  UVM  FIFO  Testbench  (1/3)   Arrow Devices Pvt Ltd
  • 13.       Arrow Devices Pvt Ltd   Example:  UVM  FIFO  Testbench  (2/3)  
  • 14. •  Descrip0on  of  Pop  Agent   Arrow Devices Pvt Ltd   Example:  UVM  FIFO  Testbench  (3/3)  
  • 15. UVM  Class  Hierarchy     Arrow Devices Pvt Ltd
  • 16. UVM Agent l Agents provide all the verification logic for a device in the system l Instantiation and connection logic is done by the developer in a standard manner l A Standard agent has: Ø  Sequencer for generating traffic Ø  Driver to drive the DUT Ø  Monitor l Agent has standard configuration parameters Arrow Devices Pvt Ltd
  • 17. UVM Agent: Standard Configuration l  A standard agent is configured using an enumeration field: “is_active” Ø  UVM_ACTIVE: Ø  Actively drive an interface or device Ø  Driver, Sequencer and Monitor are allocated Ø  UVM_PASSIVE: Ø  Only the Monitor is allocated l Still able to do checking and collect coverage l Other user-defined configuration parameters can also be added Ø  Example: address configuration for slave devices Arrow Devices Pvt Ltd
  • 19. UVM  Configurable  Bus  Environment   Arrow Devices Pvt Ltd
  • 20.         UVM  Configura0on       Arrow Devices Pvt Ltd
  • 21. UVM Configuration Mechanism l  The configuration mechanism allows a powerful way for attribute configuration l  Configuration mechanism advantages: Ø  Mechanism semantic allows an upper component to override contained components values -  No file changes are required Ø  Can configure attributes at various hierarchy locations Ø  Wild cards and regular expressions allow configuration of multiple attributes with a single command Ø  Debug capabilities Ø  Support for user defined types (e.g. SV virtual interfaces) Ø  Run-time configuration support Ø  Type safe solution Arrow Devices Pvt Ltd
  • 22. UVM Database l uvm_config_db l uvm_resource_db Arrow Devices Pvt Ltd UVM supports the following database
  • 23. Example:  UVM  Configura0on  Database     l   The  full  signature  of  set  method  is     uvm_config_db #( type T = int )::set( uvm_component cntxt , string inst_name , string field_name , T value ); interface ahb_if data_port_if( clk , reset ); interface ahb_if control_port_if( clk , reset ); ... uvm_config_db #( virtual ahb_if )::set( null , "uvm_test_top" , "data_port" , data_port_if ); uvm_config_db #( virtual ahb_if )::set( null , "uvm_test_top" , "control_port" , control_port_if ); Arrow Devices Pvt Ltd
  • 24. UVM Messaging Facility l Messages print trace information with advantages over $display: Ø Aware of its hierarchy/scope in testbench Ø Allows filtering based on hierarchy, verbosity, and time l Simple Messaging: Ø `uvm_*(string id, string message, <verbosity>);Where *(severity) is one of fatal, error, warning, info Ø <verbosity> is only valid for uvm_info Arrow Devices Pvt Ltd
  • 26. Transaction : uvm_seq_item l UVM provides all the necessary operations using factory registration Ø  Randomization Ø  Printing Ø  Cloning Ø  Comparing Ø  Copying Ø  Packing Ø  Transaction Recording Arrow Devices Pvt Ltd
  • 27. Fifo Sequence Item Arrow Devices Pvt Ltd
  • 28. UVM Sequences l A sequencer controls the generation of random stimulus by executing sequences l A sequence captures meaningful streams of transactions Ø  A simple sequence is a random transaction generator Ø  A more complex sequence can contain timing, additional constraints, parameters l Sequences: Ø  Allow reactive generation – react to DUT Ø  Have many built-in capabilities like interrupt support, arbitration schemes, automatic factory support, etc Ø  Can be nested inside other sequences Ø  Are reusable at higher levels Arrow Devices Pvt Ltd
  • 29. UVM Sequences l A sequence is started by two ways Ø  Setting as the default sequence Ø  Using a call to its start() method l Start Method and example   Virtual  task  start  (uvm_sequencer_base  sequencer,  //  Pointer  to  sequencer                      uvm_sequence_base  parent_sequencer  =  null,  //  Relevant  if  called  within  a  sequence                      integer  this_priority  =  100,  //  Priority  on  the  sequencer                      bit  call_pre_post  =  1);  //  pre_body  and  post_body  methods  called   //  For  instance  -­‐  called  from  an  uvm_component  -­‐  usually  the  test:   apb_write_seq.start(env.m_apb_agent.m_sequencer);   //  Or  called  from  within  a  sequence:   apb_compare_seq.start(m_sequencer,  this);   Arrow Devices Pvt Ltd
  • 30. Example: FIFO Sequence Arrow Devices Pvt Ltd
  • 33. UVM Test l Placing all components in the test requires lot of duplication l Separate the env configuration and the test Ø  TB class instantiates and configures reusable components l Tests instantiate a testbench Ø  Specify the nature of generated traffic Ø  Can modify configuration parameters as needed l Benefits Ø  Tests are shorter, and descriptive Ø  Less knowledge to create a test Ø  Easier to maintain - changes are done in a central location Arrow Devices Pvt Ltd
  • 35. UVM Simulation Phases l The Standard UVM phases Ø  Build phases, Run-time phases and Clean up phases l Unique tasks are performed in each simulation phase Ø  Set-up activities are performed during “testbench creation”while expected results may be addressed in “check” Ø  Phases run in order –next phase does not begin until previous phase is complete l UVM provides set of standard phases enabling VIP plug&play Ø  Allows orchestrating the activity of components that were created by different resources Arrow Devices Pvt Ltd
  • 36. UVM Simulation Phases Arrow Devices Pvt Ltd
  • 37. Example: FIFO Environment Phases Arrow Devices Pvt Ltd
  • 39. Overriding SV components and Data Objects l UVM Provides a mechanism for overriding the default data items and objects in a testbench l “Polymorphism made easy” for test writers l Replace ALL instances: Ø  object::type_id::set_type_override(derived_obj::get _type()) l Replace Specific instances Ø  object::type_id::set_inst_override(derived_obj::get_ type(), “hierarchical path”); Arrow Devices Pvt Ltd
  • 40. Extensions Using Callbacks l Like the factory, callbacks are a way to affect an existing component from outside l The SystemVeriloglanguage includes built-in callbacks Ø  e.g. post_randomize(), pre_body() l Callbacks requires the developer to predict the extension location and create a proper hook l Callbacks advantages: Ø  They do not require inheritance Ø  Multiple callbacks can be combined Arrow Devices Pvt Ltd
  • 41. UVM  Advantages  (1/2)     •  Standard  communica0on  between  components   •  End  of  test  is  well  defined   •  All  the  tasks  in  the  component  are  pre-­‐defined  standard   names  by  using  Phasing   •  Standard  Sequencer  to  Driver  Communica0on   •  Separa0ng  testbench  into  structural  and  behavioral   •  Configura0on  database  ie  either  easy  to  use  or  to  change     Arrow Devices Pvt Ltd
  • 42. UVM  Advantages  (2/2)   •  Using  Factory  registra0on   •  You  can  override  the  type  or  instance  of  trasac0ons,   components  etc.,   Ø  Configura0on  can  be  changed  easily   Ø  Overridden  components  can  be  used  with  less  efforts   Ø  Provides  user  more  flexbility  in  wri0ng  tests   •  Reusability   •  Debugging       Arrow Devices Pvt Ltd
  • 43. Thank  you   Arrow Devices Pvt Ltd