SlideShare a Scribd company logo
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

More Related Content

What's hot

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_interfacesNirav Desai
 
UVM: Basic Sequences
UVM: Basic SequencesUVM: Basic Sequences
UVM: Basic Sequences
Arrow Devices
 
System verilog assertions
System verilog assertionsSystem verilog assertions
System verilog assertions
HARINATH REDDY
 
Challenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelChallenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelDVClub
 
Coverage and Introduction to UVM
Coverage and Introduction to UVMCoverage and Introduction to UVM
Coverage and Introduction to UVM
Dr. Shivananda Koteshwar
 
SOC Verification using SystemVerilog
SOC Verification using SystemVerilog SOC Verification using SystemVerilog
SOC Verification using SystemVerilog
Ramdas Mozhikunnath
 
UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register PackageDVClub
 
AMBA 3 APB Protocol
AMBA 3 APB ProtocolAMBA 3 APB Protocol
AMBA 3 APB Protocol
Swetha GSM
 
How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?
Sameh El-Ashry
 
Verilog Tasks & Functions
Verilog Tasks & FunctionsVerilog Tasks & Functions
Verilog Tasks & Functions
anand hd
 
AMBA Ahb 2.0
AMBA Ahb 2.0AMBA Ahb 2.0
AMBA Ahb 2.0
Akhil Srivastava
 
Ral by pushpa
Ral by pushpa Ral by pushpa
Ral by pushpa
Pushpa Yakkala
 
Session 6 sv_randomization
Session 6 sv_randomizationSession 6 sv_randomization
Session 6 sv_randomizationNirav Desai
 
verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020
Sameh El-Ashry
 
SystemVerilog OOP Ovm Features Summary
SystemVerilog OOP Ovm Features SummarySystemVerilog OOP Ovm Features Summary
SystemVerilog OOP Ovm Features Summary
Amal Khailtash
 
CPU Verification
CPU VerificationCPU Verification
CPU Verification
Ramdas Mozhikunnath
 
SystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesSystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification Methodologies
Ramdas Mozhikunnath
 
Session 7 code_functional_coverage
Session 7 code_functional_coverageSession 7 code_functional_coverage
Session 7 code_functional_coverageNirav Desai
 
PCI Express Verification using Reference Modeling
PCI Express Verification using Reference ModelingPCI Express Verification using Reference Modeling
PCI Express Verification using Reference ModelingDVClub
 

What's hot (20)

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
 
UVM: Basic Sequences
UVM: Basic SequencesUVM: Basic Sequences
UVM: Basic Sequences
 
System verilog assertions
System verilog assertionsSystem verilog assertions
System verilog assertions
 
Challenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelChallenges in Using UVM at SoC Level
Challenges in Using UVM at SoC Level
 
Coverage and Introduction to UVM
Coverage and Introduction to UVMCoverage and Introduction to UVM
Coverage and Introduction to UVM
 
SOC Verification using SystemVerilog
SOC Verification using SystemVerilog SOC Verification using SystemVerilog
SOC Verification using SystemVerilog
 
UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register Package
 
AMBA 3 APB Protocol
AMBA 3 APB ProtocolAMBA 3 APB Protocol
AMBA 3 APB Protocol
 
system verilog
system verilogsystem verilog
system verilog
 
How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?
 
Verilog Tasks & Functions
Verilog Tasks & FunctionsVerilog Tasks & Functions
Verilog Tasks & Functions
 
AMBA Ahb 2.0
AMBA Ahb 2.0AMBA Ahb 2.0
AMBA Ahb 2.0
 
Ral by pushpa
Ral by pushpa Ral by pushpa
Ral by pushpa
 
Session 6 sv_randomization
Session 6 sv_randomizationSession 6 sv_randomization
Session 6 sv_randomization
 
verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020
 
SystemVerilog OOP Ovm Features Summary
SystemVerilog OOP Ovm Features SummarySystemVerilog OOP Ovm Features Summary
SystemVerilog OOP Ovm Features Summary
 
CPU Verification
CPU VerificationCPU Verification
CPU Verification
 
SystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesSystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification Methodologies
 
Session 7 code_functional_coverage
Session 7 code_functional_coverageSession 7 code_functional_coverage
Session 7 code_functional_coverage
 
PCI Express Verification using Reference Modeling
PCI Express Verification using Reference ModelingPCI Express Verification using Reference Modeling
PCI Express Verification using Reference Modeling
 

Viewers also liked

Uvm dcon2013
Uvm dcon2013Uvm dcon2013
Uvm dcon2013sean chen
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
Sameh El-Ashry
 
UVM Ral model usage
UVM Ral model usageUVM Ral model usage
UVM Ral model usage
Parth Pandya
 
Basics of Functional Verification - Arrow Devices
Basics of Functional Verification - Arrow DevicesBasics of Functional Verification - Arrow Devices
Basics of Functional Verification - Arrow Devices
Arrow Devices
 
System Verilog Tutorial - VHDL
System Verilog Tutorial - VHDLSystem Verilog Tutorial - VHDL
System Verilog Tutorial - VHDL
E2MATRIX
 
System verilog verification building blocks
System verilog verification building blocksSystem verilog verification building blocks
System verilog verification building blocksNirav Desai
 
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 answerstonychoper2706
 
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
 
Verilog Lecture4 2014
Verilog Lecture4 2014Verilog Lecture4 2014
Verilog Lecture4 2014
Béo Tú
 
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
 
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
Pankaj Singh
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUsDVClub
 
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 ExperienceDVClub
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through MethodologyDVClub
 
Functial Verification Tutorials
Functial Verification TutorialsFunctial Verification Tutorials
Functial Verification Tutorials
guestbcfac5
 
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 ChallengesDVClub
 
Behavioral modeling of Clock/Data Recovery
Behavioral modeling of Clock/Data RecoveryBehavioral modeling of Clock/Data Recovery
Behavioral modeling of Clock/Data Recovery
Arrow Devices
 
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 ValidationDVClub
 
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
Dr. Shivananda Koteshwar
 

Viewers also liked (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
 
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
 
System verilog verification building blocks
System verilog verification building blocksSystem verilog verification building blocks
System verilog verification building blocks
 
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
 

Similar to UVM Methodology Tutorial

The Verification Methodology Landscape
The Verification Methodology LandscapeThe Verification Methodology Landscape
The Verification Methodology LandscapeDVClub
 
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 frameworkGosuke Miyashita
 
UVM Basics.pdf
UVM Basics.pdfUVM Basics.pdf
UVM Basics.pdf
yaazhiniyanm1
 
Breakthrough in Quality Management
Breakthrough in Quality ManagementBreakthrough in Quality Management
Breakthrough in Quality Management
OptimalPlus
 
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
RISC-V International
 
Testware Hierarchy for Test Automation
Testware Hierarchy for Test AutomationTestware Hierarchy for Test Automation
Testware Hierarchy for Test Automation
Gregory Solovey
 
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
Felipe Prado
 
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...
MITRE ATT&CK
 
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...
GlobalLogic Ukraine
 
Maximizing Oracle RAC Uptime
Maximizing Oracle RAC UptimeMaximizing Oracle RAC Uptime
Maximizing Oracle RAC Uptime
Markus Michalewicz
 
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
Andreas Grabner
 
Design for Testability
Design for Testability Design for Testability
Design for Testability
kumar gavanurmath
 
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
ManageEngine, Zoho Corporation
 
Virtual platform
Virtual platformVirtual platform
Virtual platformsean 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
 
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...
Indu32
 
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
 
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...
Amit Bhandu
 

Similar to 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...
 

More from Arrow Devices

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
Arrow Devices
 
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
 
Arrow Devices USB 2.0 Concepts
Arrow Devices USB 2.0 ConceptsArrow Devices USB 2.0 Concepts
Arrow Devices USB 2.0 Concepts
Arrow Devices
 
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
Arrow Devices
 
Bidirectional Bus Modelling
Bidirectional Bus ModellingBidirectional Bus Modelling
Bidirectional Bus Modelling
Arrow Devices
 
FIFO Design
FIFO DesignFIFO Design
FIFO Design
Arrow Devices
 

More from 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
 

Recently uploaded

Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
PrashantGoswami42
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
ShahidSultan24
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
Kamal Acharya
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 
Vaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdfVaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdf
Kamal Acharya
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
Kamal Acharya
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 

Recently uploaded (20)

Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 
Vaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdfVaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdf
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 

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