SlideShare a Scribd company logo
1 of 22
Download to read offline
1
UVM Basics
Nagesh Loke
ARM CPUVerification Lead/Manager
2
▪ This lecture aims to:
▪ demonstrate the need for a verification methodology
▪ provide an understanding of some of the key components of a UVM testbench
▪ cover some basic features of UVM
What to expect …
3
ARM CCN-512 SoC Framework
4
▪ Typical processor development from scratch could be 100s of engineering years
▪ Requires parallel developments across multiple sites, and it takes a large team to verify a
processor
▪ The typical method is to divide and conquer, partitioning the whole CPU into smaller
units and verify those units, then reuse the checkers and stimulus at a higher level
▪ The challenges are numerous
▪ Reuse of code becomes an absolute key to avoid duplication of work
▪ It is essential to have the ability to integrate an external IP
▪ This requires rigorous planning, code structure, & lockstep development
▪ Standardization becomes a key consideration
▪ UVM can help solve this!
What are the challenges of verifying complex systems?
5
▪ Stands for UniversalVerification Methodology
▪ Benefits:
▪ supports and provides framework for modular and layered verification components
▪ Enables:
◦ reuse
◦ clear functional definition for each component
◦ configuration of components to be used in a variety of contexts
▪ is maintained and released by Accellera committee
▪ source code is fully available
▪ is a mature product
▪ significant amount of training and support available
What is UVM and why use it?
6
TOP Env
TX Env
Key components of a UVM testbench
DUT
TX Agent
Sequencer
Driver Monitor
Functional Coverage
RX Env
RX Agent
Sequencer
Driver Monitor
Scoreboard
Interface Interface
7
UVM Sequence Item & Sequence Inheritance tree
8
UVM Component
▪ Basic building block for all
components that exercise
control over testbench or
manage transactions
▪ They all have a time consuming
run() task
▪ They exist as long as the test
exists
9
UVM Sequence Item & Sequence
▪ Sequence Item is the same as a transaction
▪ It’s the basic building block for all types of data in
UVM
▪ Collection of logically related items that are
shared between testbench components
▪ Examples: packet,AXI transaction, pixel
▪ Common supported methods:
▪ create, copy, print, compare
▪ UVM Sequence is a collection/list of UVM
sequence items
▪ UVM sequence usually has smarts to populate
the sequence but sometimes this is separated
into a UVM generator
10
TOP Env
TX Env
Key components of a UVM testbench
DUT
TX Agent
Sequencer
Driver Monitor
Functional Coverage
RX Env
RX Agent
Sequencer
Driver Monitor
Scoreboard
Interface Interface
11
UVM Sequencer & Driver
▪ A UVM sequencer connects a UVM sequence
to the UVM driver
▪ It sends a transaction from the sequence to the
driver
▪ It sends a response from the driver to the
sequence
▪ Sequencer can also arbitrate between multiple
sequences and send a chosen transaction to the
driver
▪ Provides the following methods:
▪ send_request (), get_response ()
▪ A UVM driver is responsible for decoding a
transaction obtained from the sequencer
▪ It is responsible for driving the DUT interface
signals
▪ It understands the pin level protocol and the
timing relationships
12
UVM Monitor
▪ Monitor’s responsibility is to observe
communication on the DUT interface
▪ A monitor can include a protocol checker that
can immediately find any pin level violations of
the communication protocol
▪ UVM Monitor is responsible for creating a
transaction based on the activity on the
interface
▪ This transaction is consumed by various
testbench components for checking and
functional coverage
▪ Monitor communicates with other testbench
components using UVM Analysis ports
13
TOP Env
TX Env
Key components of a UVM testbench
DUT
TX Agent
Sequencer
Driver Monitor
Functional Coverage
RX Env
RX Agent
Sequencer
Driver Monitor
Scoreboard
Interface Interface
14
UVM Agent
▪ UVM Agent is responsible for
connecting the sequencer, driver and
the monitor
▪ It provides analysis ports for the
monitor to send transactions to the
scoreboard and coverage
▪ It provides the ability to disable the
sequencer and driver; this will be
useful when an actual DUT is
connected
15
UVM Scoreboard
▪ Scoreboard is one of the trickiest and most important verification components
▪ Scoreboard is an independent implementation of specification
▪ It takes in transactions from various monitors in the design, applies the inputs to the
independent model and generates an expected output
▪ It then compares the actual and the expected outputs
▪ A typical scoreboard is a queue implementation of the modeled outputs resulting in a
pop of the latest result when the actual DUT output is available
▪ A scoreboard also has to ensure that the timing of the inputs and outputs is well
managed to avoid false fails
16
UVM Environment
▪ The environment is
responsible for managing
various components in the
testbench
▪ It instantiates and connects:
▪ all the agents
▪ all the scoreboards
▪ all the functional coverage
models
17
UVM Test
▪ uvm_test is responsible for
▪ creating the environment
▪ controlling the type of test you want to run
▪ providing configuration information to all the components through the environment
18
TOP Env
TX Env
Key components of a UVM testbench
DUT
TX Agent
Sequencer
Driver Monitor
Functional Coverage
RX Env
RX Agent
Sequencer
Driver Monitor
Scoreboard
Interface Interface
19
UVM TLM
▪ TLM port is a mechanism to transport data or messages
▪ It is implemented using a SV mailbox mechanism
▪ It typically carries a whole transaction
▪ In some cases a broadcast of a transaction is necessary (one-many); this is achieved
using an analysis port
▪ A testbench component implemented usingTLM ports is more modular and reusable
20
UVM Phasing
build
check
start_of_simulation
run
final
connect
report
reset
configure
shutdown
main
Create components and allocate memory
Hook up components; key step to plumbing
Time consuming tasks
• Reset the design
• Configure the design
• Main test stimulus
• Stop the stimulus and provide time for
checking/draining existing transactions, replays or
restarts
Do end of test checks (all queues empty, all responses received)
Provide reporting, pass/fail status
Complete the test
Print banners, topology etc.
21
▪ Discussed what a verification methodology is and the need for it
▪ Looked at block diagrams with key components in a UVM testbench
▪ Covered UVM and some of it’s basic features
What we learned today …
22
▪ https://verificationacademy.com/
▪ Accelera: http://accellera.org/downloads/standards/uvm
▪ Recommend watching short videos on UVM introduction onYouTube
Useful pointers

More Related Content

Similar to UVM Basics.pdf

MIPI DevCon 2016: Verification of Mobile SOC Design (UFS)
MIPI DevCon 2016: Verification of Mobile SOC Design (UFS)MIPI DevCon 2016: Verification of Mobile SOC Design (UFS)
MIPI DevCon 2016: Verification of Mobile SOC Design (UFS)MIPI Alliance
 
Chapter 14 software testing techniques
Chapter 14 software testing techniquesChapter 14 software testing techniques
Chapter 14 software testing techniquesSHREEHARI WADAWADAGI
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance TestingMark Price
 
Serena Release Management approach and solutions
Serena Release Management approach and solutionsSerena Release Management approach and solutions
Serena Release Management approach and solutionsSoftmart
 
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...DVClub
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniquesFincy V.J
 
Newsoftware testing-techniques-141114004511-conversion-gate01
Newsoftware testing-techniques-141114004511-conversion-gate01Newsoftware testing-techniques-141114004511-conversion-gate01
Newsoftware testing-techniques-141114004511-conversion-gate01Mr. Jhon
 
Problem management foundation - Mission control
Problem management foundation - Mission controlProblem management foundation - Mission control
Problem management foundation - Mission controlRonald Bartels
 
Access Assurance Suite Tips & Tricks - Lisa Lombardo Principal Architect Iden...
Access Assurance Suite Tips & Tricks - Lisa Lombardo Principal Architect Iden...Access Assurance Suite Tips & Tricks - Lisa Lombardo Principal Architect Iden...
Access Assurance Suite Tips & Tricks - Lisa Lombardo Principal Architect Iden...Core Security
 
Real Time Application Interface for Linux
Real Time Application Interface for LinuxReal Time Application Interface for Linux
Real Time Application Interface for LinuxSarah Hussein
 
UGM 2015: X1149 workshop
UGM 2015: X1149 workshopUGM 2015: X1149 workshop
UGM 2015: X1149 workshopInterlatin
 
How Operating system works.
How Operating system works. How Operating system works.
How Operating system works. Fahad Farooq
 
The central processing unit by group 5 2015
The central processing unit by group 5 2015The central processing unit by group 5 2015
The central processing unit by group 5 2015Tendai Karuma
 
Fault tolerance and computing
Fault tolerance  and computingFault tolerance  and computing
Fault tolerance and computingPalani murugan
 

Similar to UVM Basics.pdf (20)

MIPI DevCon 2016: Verification of Mobile SOC Design (UFS)
MIPI DevCon 2016: Verification of Mobile SOC Design (UFS)MIPI DevCon 2016: Verification of Mobile SOC Design (UFS)
MIPI DevCon 2016: Verification of Mobile SOC Design (UFS)
 
Chapter 14 software testing techniques
Chapter 14 software testing techniquesChapter 14 software testing techniques
Chapter 14 software testing techniques
 
Good vs power automation frameworks
Good vs power automation frameworksGood vs power automation frameworks
Good vs power automation frameworks
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
Real time operating systems
Real time operating systemsReal time operating systems
Real time operating systems
 
ASIC design verification
ASIC design verificationASIC design verification
ASIC design verification
 
Control of Switching.pdf
Control of Switching.pdfControl of Switching.pdf
Control of Switching.pdf
 
Automation for developers
Automation for developersAutomation for developers
Automation for developers
 
Serena Release Management approach and solutions
Serena Release Management approach and solutionsSerena Release Management approach and solutions
Serena Release Management approach and solutions
 
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniques
 
Newsoftware testing-techniques-141114004511-conversion-gate01
Newsoftware testing-techniques-141114004511-conversion-gate01Newsoftware testing-techniques-141114004511-conversion-gate01
Newsoftware testing-techniques-141114004511-conversion-gate01
 
Problem management foundation - Mission control
Problem management foundation - Mission controlProblem management foundation - Mission control
Problem management foundation - Mission control
 
Access Assurance Suite Tips & Tricks - Lisa Lombardo Principal Architect Iden...
Access Assurance Suite Tips & Tricks - Lisa Lombardo Principal Architect Iden...Access Assurance Suite Tips & Tricks - Lisa Lombardo Principal Architect Iden...
Access Assurance Suite Tips & Tricks - Lisa Lombardo Principal Architect Iden...
 
Real Time Application Interface for Linux
Real Time Application Interface for LinuxReal Time Application Interface for Linux
Real Time Application Interface for Linux
 
UGM 2015: X1149 workshop
UGM 2015: X1149 workshopUGM 2015: X1149 workshop
UGM 2015: X1149 workshop
 
How Operating system works.
How Operating system works. How Operating system works.
How Operating system works.
 
Nesc tutorial
Nesc tutorialNesc tutorial
Nesc tutorial
 
The central processing unit by group 5 2015
The central processing unit by group 5 2015The central processing unit by group 5 2015
The central processing unit by group 5 2015
 
Fault tolerance and computing
Fault tolerance  and computingFault tolerance  and computing
Fault tolerance and computing
 

Recently uploaded

Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 

Recently uploaded (20)

Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 

UVM Basics.pdf

  • 1. 1 UVM Basics Nagesh Loke ARM CPUVerification Lead/Manager
  • 2. 2 ▪ This lecture aims to: ▪ demonstrate the need for a verification methodology ▪ provide an understanding of some of the key components of a UVM testbench ▪ cover some basic features of UVM What to expect …
  • 3. 3 ARM CCN-512 SoC Framework
  • 4. 4 ▪ Typical processor development from scratch could be 100s of engineering years ▪ Requires parallel developments across multiple sites, and it takes a large team to verify a processor ▪ The typical method is to divide and conquer, partitioning the whole CPU into smaller units and verify those units, then reuse the checkers and stimulus at a higher level ▪ The challenges are numerous ▪ Reuse of code becomes an absolute key to avoid duplication of work ▪ It is essential to have the ability to integrate an external IP ▪ This requires rigorous planning, code structure, & lockstep development ▪ Standardization becomes a key consideration ▪ UVM can help solve this! What are the challenges of verifying complex systems?
  • 5. 5 ▪ Stands for UniversalVerification Methodology ▪ Benefits: ▪ supports and provides framework for modular and layered verification components ▪ Enables: ◦ reuse ◦ clear functional definition for each component ◦ configuration of components to be used in a variety of contexts ▪ is maintained and released by Accellera committee ▪ source code is fully available ▪ is a mature product ▪ significant amount of training and support available What is UVM and why use it?
  • 6. 6 TOP Env TX Env Key components of a UVM testbench DUT TX Agent Sequencer Driver Monitor Functional Coverage RX Env RX Agent Sequencer Driver Monitor Scoreboard Interface Interface
  • 7. 7 UVM Sequence Item & Sequence Inheritance tree
  • 8. 8 UVM Component ▪ Basic building block for all components that exercise control over testbench or manage transactions ▪ They all have a time consuming run() task ▪ They exist as long as the test exists
  • 9. 9 UVM Sequence Item & Sequence ▪ Sequence Item is the same as a transaction ▪ It’s the basic building block for all types of data in UVM ▪ Collection of logically related items that are shared between testbench components ▪ Examples: packet,AXI transaction, pixel ▪ Common supported methods: ▪ create, copy, print, compare ▪ UVM Sequence is a collection/list of UVM sequence items ▪ UVM sequence usually has smarts to populate the sequence but sometimes this is separated into a UVM generator
  • 10. 10 TOP Env TX Env Key components of a UVM testbench DUT TX Agent Sequencer Driver Monitor Functional Coverage RX Env RX Agent Sequencer Driver Monitor Scoreboard Interface Interface
  • 11. 11 UVM Sequencer & Driver ▪ A UVM sequencer connects a UVM sequence to the UVM driver ▪ It sends a transaction from the sequence to the driver ▪ It sends a response from the driver to the sequence ▪ Sequencer can also arbitrate between multiple sequences and send a chosen transaction to the driver ▪ Provides the following methods: ▪ send_request (), get_response () ▪ A UVM driver is responsible for decoding a transaction obtained from the sequencer ▪ It is responsible for driving the DUT interface signals ▪ It understands the pin level protocol and the timing relationships
  • 12. 12 UVM Monitor ▪ Monitor’s responsibility is to observe communication on the DUT interface ▪ A monitor can include a protocol checker that can immediately find any pin level violations of the communication protocol ▪ UVM Monitor is responsible for creating a transaction based on the activity on the interface ▪ This transaction is consumed by various testbench components for checking and functional coverage ▪ Monitor communicates with other testbench components using UVM Analysis ports
  • 13. 13 TOP Env TX Env Key components of a UVM testbench DUT TX Agent Sequencer Driver Monitor Functional Coverage RX Env RX Agent Sequencer Driver Monitor Scoreboard Interface Interface
  • 14. 14 UVM Agent ▪ UVM Agent is responsible for connecting the sequencer, driver and the monitor ▪ It provides analysis ports for the monitor to send transactions to the scoreboard and coverage ▪ It provides the ability to disable the sequencer and driver; this will be useful when an actual DUT is connected
  • 15. 15 UVM Scoreboard ▪ Scoreboard is one of the trickiest and most important verification components ▪ Scoreboard is an independent implementation of specification ▪ It takes in transactions from various monitors in the design, applies the inputs to the independent model and generates an expected output ▪ It then compares the actual and the expected outputs ▪ A typical scoreboard is a queue implementation of the modeled outputs resulting in a pop of the latest result when the actual DUT output is available ▪ A scoreboard also has to ensure that the timing of the inputs and outputs is well managed to avoid false fails
  • 16. 16 UVM Environment ▪ The environment is responsible for managing various components in the testbench ▪ It instantiates and connects: ▪ all the agents ▪ all the scoreboards ▪ all the functional coverage models
  • 17. 17 UVM Test ▪ uvm_test is responsible for ▪ creating the environment ▪ controlling the type of test you want to run ▪ providing configuration information to all the components through the environment
  • 18. 18 TOP Env TX Env Key components of a UVM testbench DUT TX Agent Sequencer Driver Monitor Functional Coverage RX Env RX Agent Sequencer Driver Monitor Scoreboard Interface Interface
  • 19. 19 UVM TLM ▪ TLM port is a mechanism to transport data or messages ▪ It is implemented using a SV mailbox mechanism ▪ It typically carries a whole transaction ▪ In some cases a broadcast of a transaction is necessary (one-many); this is achieved using an analysis port ▪ A testbench component implemented usingTLM ports is more modular and reusable
  • 20. 20 UVM Phasing build check start_of_simulation run final connect report reset configure shutdown main Create components and allocate memory Hook up components; key step to plumbing Time consuming tasks • Reset the design • Configure the design • Main test stimulus • Stop the stimulus and provide time for checking/draining existing transactions, replays or restarts Do end of test checks (all queues empty, all responses received) Provide reporting, pass/fail status Complete the test Print banners, topology etc.
  • 21. 21 ▪ Discussed what a verification methodology is and the need for it ▪ Looked at block diagrams with key components in a UVM testbench ▪ Covered UVM and some of it’s basic features What we learned today …
  • 22. 22 ▪ https://verificationacademy.com/ ▪ Accelera: http://accellera.org/downloads/standards/uvm ▪ Recommend watching short videos on UVM introduction onYouTube Useful pointers