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: Key Components and Concepts

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: Key Components and Concepts (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

Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxsocialsciencegdgrohi
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,Virag Sontakke
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 

Recently uploaded (20)

Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 

UVM Basics: Key Components and Concepts

  • 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