SlideShare a Scribd company logo
Efficient Methodology of Sampling UVM RAL
during Simulation for SoC Functional Coverage
Authors
Sameh El-Ashry, sameh.elashry@si-vision.com
Ahmed Adel, ahmed.adel@si-vision.com
Microprocessor/SoC Test, Security & Verification (MTV18) Conference, Dcemeber 10, 2018, Austin, USA © 2018
Outline
• Motivation.
• Introduction.
• The Proposed UVM RAL Generation Flow.
• The Proposed UVM RAL Backdoor.
• Conclusions.
2
Motivation
3
Why?
How?
• Why Functional Coverage?
• We need good coverage model.
• Sampling problem in bad coverage model.
• Ex: Sampling on the clock is dangerous for
simulation performance.
• Sampling on the change of the
register.
• Efficient backdoor technique is
proposed using RAL model.
Motivation2
• Register files verification represent critical part of any digital design verification
process.
• One of the most powerful ways to model memories and register files is using Register
Abstraction Layer (RAL) which is part of the UVM.
• This paper will go through the process of UVM Register model generation with its
coverage model using Synopsys tools.
4
Motivation3
• We propose an efficient and automated methodology of functional coverage UVM-
based verification environment supported by RAL model, backdoor access and how
to automatically generate it starting from IP-XACT model till producing the UVM RAL
model.
• The proposed methodology has strong flexibility in frequent design specification
changes.
• The proposed functional coverage technique is applied to beat performance
degradation and enhance the simulation.
5
Introduction
6
Register Abstraction Layer (RAL)
• Verification engineers use register models to ease the stimulus generation and the
functional checking.
• A register model consists of a set of register definitions, register instances
clustered under a register block and their address mappings into Design Under
Test's (DUT) address space.
• RAL allows modeling and verification of hardware registers and memory blocks,
the UVM register layer provides read() or write() tasks that can be called from a
UVM sequence.
7
UVM Register Library Features
8
• Read and write for the registers and the memories as part of the normal operation.
• Modeling registers, memory blocks and analyze the register activity.
• Checking the DUT registers and memories against a shadow device (with shadow
registers) at the scoreboard.
• Collect coverage on the registers that are created at the RAL model (point to
improve).
• Initialize the DUT registers and memories.
• Randomize the contents of DUT registers and memories.
The Proposed UVM RAL Generation Flow
• The UVM RAL Generation Flow
• The Proposed Generic, Scalable, and Configurable UVM Architecture
9
The UVM RAL Generation Flow
• UVM provides mapping of register content of DUT, a layer for accessing register, and
memory locations within DUT which is called as RAL.
• Once a description of the available registers and memories in a design is available,
ralgen tool proposed by Synopsys can automatically generate the UVM RAL for these
registers.
10
The UVM RAL Generation Flow2
11
• Figure describes the flow of the UVM register model generation starting from the
Excel spreadsheet register file, the generating of Register Abstraction Layer File
(RALF) format.
Register
File Excel
Format
IP-XACT
Schema
Format
RALF
Model
UVM
Register
Model
UVM Register Model Generation Flow
ralgen
Tool
ralgen
Tool
User
Script
The Proposed UVM Architecture
12
• The designed testbench uses a UVM methodology and constrained random
verification techniques.
• The goal is to meet the expected functional coverage metrics, and verifying the
digital hardware parts in System-on-Chip (SoC) ,and wireless systems.
The Proposed UVM Architecture2
13
• The verification environment was designed to verify a network consisting of up to
four PHYs (DUTs) and can be configured to support extra DUTs as shown in Figure.
• One RAL model is implemented, although we created instances from the RAL model
for each peer.
The Proposed Generic UVM Architecture3
14
• A shared functional coverage model is implemented for all DUTs as some scenarios
may happen at the transmitter side, others scenarios may happen at the receiver
side.
The Proposed UVM Architecture4
15
• One coverage database is needed for the network so the total coverage percentage is
easily merged by automatic way due to the shared functional coverage model.
• A structured testbench is built using classes based on UVM supported by UVM RAL
model and RAL backdoor access.
The Proposed UVM Architecture5
16
• Another effect of using the RAL model is that the total coverage closure time is
reduced due to an automatic integration for the functional coverage and the
covergroups results for all DUT’s instances.
• The automatic integration is achieved by mapping all the DUT’s instances to the
same covergroups at the RAL model.
The Proposed UVM Architecture6
17
• There is one more important thing to simulation performance.
• The number of calling the sample coverage task badly affects simulation performance
next to the size of design.
• Thus, the concept of backdoor for specific data path has been applied to register
modeling.
The Proposed UVM RAL Backdoor
• Conventional UVM Backdoor classes
• Modified UVM Backdoor classes for Coverage Sampling
• Proposed Backdoor Sampling Technique for Checking Proposes
18
Backdoor Access
19
• Front-door access uses the same bus interface for observing operations. This is
commonly used in simulation-based register verification because it does not require
an additional interface for observation.
• Back-door access uses a different interface for observation – usually direct access to
registers.
• Backdoor access enables efficient observation, but requires the use of an additional
interface.
• Backdoor improves the efficiency of verifying registers as it can access register
locations with little or no simulation time.
EDA Vendors RAL Generators
20
• The input specification of a register model such as IPXACT, System RDL, Excel file or
word file (typically in IPXACT or RALF in our case study) contains all of the necessary
information to generate the UVM register model leveraging the UVM base class
library.
Commercial
or open
source
generators
ralgen
tool
IP_XACT
System RDL
Excel file
Word file
UVM Classes RAL Registers
Backdoor read/Write Tasks
Backdoor Classes for Registers
Model Coverage
UVM
Register
Model
Conventional UVM Backdoor classes
21
• There is a lack of literature discussing the backdoor technique using the hierarchical
HDL path based backdoors.
• We discuss the backdoor mechanism and the challenges associated with it.
• In this mechanism, register constructs are accessed using the Verilog style cross-
module references.
• This would be relatively less intensive with regards to simulation performance as the
HDL paths are all resolved at the compile time.
Generated UVM RAL read/write backdoor tasks
22
• The interface would contain tasks defined within it to access the constructs that are
used to model registers in the RTL of the DUT.
Generated UVM RAL backdoor classes
23
• The usage of the backdoor classes and the signatures will not change which will allow
existing RTL code to work seamlessly with the newly generated model.
Modified UVM RAL interface with wait for change
tasks
24
• When Active Monitoring code is desired, the following generated classes and tasks
are modified additionally as shown in Figure.
Modified UVM RAL backdoor classes
25
• The additional code in the interface file would be as shown:
Sampling event to use it in coverage sampling at
the base_test to achieve high performance
coverage/simulation.
Modified UVM RAL backdoor interface.
26
Functional Coverage Model Generation
27
• The coverage model is created at the proposed UVM environment by our scripts to
generate covergroups for the desired registers only and avoid the auto generated
coverage model from the ralgen tool for all registers that are created at the RAL
model so that a higher coverage simulation performance is achieved.
ralgen
tool
IP_XACT
UVM Classes RAL Registers
Backdoor read/Write Tasks (will be modified)
Backdoor Classes for Registers (will be modified)
RAL with Model Coverage
UVM
Register
Model
User
Script
bins_reg_1.txt
bins_reg_2.txt
bins_reg_N.txt
Sampling of the coverage model
28
• The sampling of the coverage model for coverage closure is happening at the UVM
test layer and is controlled using the event trigger for high simulation performance as
shown in Figure.
Sampling for Scoreboard Checking
29
• The scoreboard peeks registers to use the register’s value in a comparison process,
the scoreboard may pull up on the change of the register based on an event that is
triggered from the backdoor classes as shown in Figure.
Conclusions
• Commercial or open source tools support the automatic generation for the functional
coverage model and the covergroups for all implemented registers at the RAL model.
• The auto-generated covergroups are not the most efficient coverage method as the
verification engineers may need to exclude some undesirable registers from the final
coverage report based on the verification coverage plan that is prepared at the
starting of the project.
• The coverage sampling of undesirable registers may lead to low simulation
performance, a new efficient methodology is proposed for the coverage sampling
based on RAL backdoor access to achieve the highest simulation performance.
• The automated methodology has strong flexibility and high-level maintainability
upon frequent specification changes.
30
31
Questions?
Thank You
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functional Coverage
Ad

More Related Content

What's hot (20)

System verilog important
System verilog importantSystem verilog important
System verilog important
elumalai7
 
System verilog verification building blocks
System verilog verification building blocksSystem verilog verification building blocks
System verilog verification building blocks
Nirav Desai
 
System verilog coverage
System verilog coverageSystem verilog coverage
System verilog coverage
Pushpa Yakkala
 
Advance Peripheral Bus
Advance Peripheral Bus Advance Peripheral Bus
Advance Peripheral Bus
SIVA NAGENDRA REDDY
 
Amba axi 29 3_2015
Amba axi 29 3_2015Amba axi 29 3_2015
Amba axi 29 3_2015
kiemnhatminh
 
AMBA Ahb 2.0
AMBA Ahb 2.0AMBA Ahb 2.0
AMBA Ahb 2.0
Akhil Srivastava
 
SOC Verification using SystemVerilog
SOC Verification using SystemVerilog SOC Verification using SystemVerilog
SOC Verification using SystemVerilog
Ramdas Mozhikunnath
 
SystemVerilog Assertions verification with SVAUnit - DVCon US 2016 Tutorial
SystemVerilog Assertions verification with SVAUnit - DVCon US 2016 TutorialSystemVerilog Assertions verification with SVAUnit - DVCon US 2016 Tutorial
SystemVerilog Assertions verification with SVAUnit - DVCon US 2016 Tutorial
Amiq Consulting
 
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
DVClub
 
Apb
ApbApb
Apb
Azad Mishra
 
Axi
AxiAxi
Axi
Azad Mishra
 
System verilog assertions
System verilog assertionsSystem verilog assertions
System verilog assertions
HARINATH REDDY
 
AMBA 3 APB Protocol
AMBA 3 APB ProtocolAMBA 3 APB Protocol
AMBA 3 APB Protocol
Swetha GSM
 
Uvm presentation dac2011_final
Uvm presentation dac2011_finalUvm presentation dac2011_final
Uvm presentation dac2011_final
sean chen
 
Axi
AxiAxi
Axi
Vinchipsytm Vlsitraining
 
Spi master core verification
Spi master core verificationSpi master core verification
Spi master core verification
Maulik Suthar
 
UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology Tutorial
Arrow Devices
 
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
 
AMBA3.0 james_20110801
AMBA3.0 james_20110801AMBA3.0 james_20110801
AMBA3.0 james_20110801
James Chang
 
SPI introduction(Serial Peripheral Interface)
SPI introduction(Serial Peripheral Interface)SPI introduction(Serial Peripheral Interface)
SPI introduction(Serial Peripheral Interface)
SUNODH GARLAPATI
 
System verilog important
System verilog importantSystem verilog important
System verilog important
elumalai7
 
System verilog verification building blocks
System verilog verification building blocksSystem verilog verification building blocks
System verilog verification building blocks
Nirav Desai
 
System verilog coverage
System verilog coverageSystem verilog coverage
System verilog coverage
Pushpa Yakkala
 
Amba axi 29 3_2015
Amba axi 29 3_2015Amba axi 29 3_2015
Amba axi 29 3_2015
kiemnhatminh
 
SOC Verification using SystemVerilog
SOC Verification using SystemVerilog SOC Verification using SystemVerilog
SOC Verification using SystemVerilog
Ramdas Mozhikunnath
 
SystemVerilog Assertions verification with SVAUnit - DVCon US 2016 Tutorial
SystemVerilog Assertions verification with SVAUnit - DVCon US 2016 TutorialSystemVerilog Assertions verification with SVAUnit - DVCon US 2016 Tutorial
SystemVerilog Assertions verification with SVAUnit - DVCon US 2016 Tutorial
Amiq Consulting
 
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
DVClub
 
System verilog assertions
System verilog assertionsSystem verilog assertions
System verilog assertions
HARINATH REDDY
 
AMBA 3 APB Protocol
AMBA 3 APB ProtocolAMBA 3 APB Protocol
AMBA 3 APB Protocol
Swetha GSM
 
Uvm presentation dac2011_final
Uvm presentation dac2011_finalUvm presentation dac2011_final
Uvm presentation dac2011_final
sean chen
 
Spi master core verification
Spi master core verificationSpi master core verification
Spi master core verification
Maulik Suthar
 
UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology Tutorial
Arrow Devices
 
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
 
AMBA3.0 james_20110801
AMBA3.0 james_20110801AMBA3.0 james_20110801
AMBA3.0 james_20110801
James Chang
 
SPI introduction(Serial Peripheral Interface)
SPI introduction(Serial Peripheral Interface)SPI introduction(Serial Peripheral Interface)
SPI introduction(Serial Peripheral Interface)
SUNODH GARLAPATI
 

Similar to Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functional Coverage (20)

OMA Lightweight M2M
OMA Lightweight M2M OMA Lightweight M2M
OMA Lightweight M2M
Hamdamboy (함담보이)
 
OpenPOWER Webinar
OpenPOWER Webinar OpenPOWER Webinar
OpenPOWER Webinar
Ganesan Narayanasamy
 
Simplescalar Overview- a Superscalar.ppt
Simplescalar Overview- a Superscalar.pptSimplescalar Overview- a Superscalar.ppt
Simplescalar Overview- a Superscalar.ppt
MirxaTahaHassan
 
chapter8.ppt clean code Boundary ppt Coding guide
chapter8.ppt clean code Boundary ppt Coding guidechapter8.ppt clean code Boundary ppt Coding guide
chapter8.ppt clean code Boundary ppt Coding guide
SanjeevSaharan5
 
Mod 3.pptx
Mod 3.pptxMod 3.pptx
Mod 3.pptx
lekha349785
 
Creo Parametric and Windchill Workspace.pdf
Creo Parametric and Windchill Workspace.pdfCreo Parametric and Windchill Workspace.pdf
Creo Parametric and Windchill Workspace.pdf
3 HTi - Engineering Software and Solutions
 
Optimica Compiler Toolkit - Overview
Optimica Compiler Toolkit - OverviewOptimica Compiler Toolkit - Overview
Optimica Compiler Toolkit - Overview
Modelon
 
Energy efficient AI workload partitioning on multi-core systems
Energy efficient AI workload partitioning on multi-core systemsEnergy efficient AI workload partitioning on multi-core systems
Energy efficient AI workload partitioning on multi-core systems
Deepak Shankar
 
A High-Level Programming Approach for using FPGAs in HPC using Functional Des...
A High-Level Programming Approach for using FPGAs in HPC using Functional Des...A High-Level Programming Approach for using FPGAs in HPC using Functional Des...
A High-Level Programming Approach for using FPGAs in HPC using Functional Des...
waqarnabi
 
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery LabsIncquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
IncQuery Labs
 
Embedded C
Embedded CEmbedded C
Embedded C
Krunal Siddhapathak
 
Operationalizing Machine Learning: Serving ML Models
Operationalizing Machine Learning: Serving ML ModelsOperationalizing Machine Learning: Serving ML Models
Operationalizing Machine Learning: Serving ML Models
Lightbend
 
Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016
Modelon
 
Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...
Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...
Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...
ijceronline
 
Basics of micro controllers for biginners
Basics of  micro controllers for biginnersBasics of  micro controllers for biginners
Basics of micro controllers for biginners
Gerwin Makanyanga
 
Advanced computer architecture lesson 5 and 6
Advanced computer architecture lesson 5 and 6Advanced computer architecture lesson 5 and 6
Advanced computer architecture lesson 5 and 6
Ismail Mukiibi
 
A Fast and Accurate Cost Model for FPGA Design Space Exploration in HPC Appli...
A Fast and Accurate Cost Model for FPGA Design Space Exploration in HPC Appli...A Fast and Accurate Cost Model for FPGA Design Space Exploration in HPC Appli...
A Fast and Accurate Cost Model for FPGA Design Space Exploration in HPC Appli...
waqarnabi
 
Machine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data StreamsMachine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Lightbend
 
AutomationML: A Model-Driven View
AutomationML: A Model-Driven ViewAutomationML: A Model-Driven View
AutomationML: A Model-Driven View
Luca Berardinelli
 
Introduction to arm processor
Introduction to arm processorIntroduction to arm processor
Introduction to arm processor
RAMPRAKASHT1
 
Simplescalar Overview- a Superscalar.ppt
Simplescalar Overview- a Superscalar.pptSimplescalar Overview- a Superscalar.ppt
Simplescalar Overview- a Superscalar.ppt
MirxaTahaHassan
 
chapter8.ppt clean code Boundary ppt Coding guide
chapter8.ppt clean code Boundary ppt Coding guidechapter8.ppt clean code Boundary ppt Coding guide
chapter8.ppt clean code Boundary ppt Coding guide
SanjeevSaharan5
 
Optimica Compiler Toolkit - Overview
Optimica Compiler Toolkit - OverviewOptimica Compiler Toolkit - Overview
Optimica Compiler Toolkit - Overview
Modelon
 
Energy efficient AI workload partitioning on multi-core systems
Energy efficient AI workload partitioning on multi-core systemsEnergy efficient AI workload partitioning on multi-core systems
Energy efficient AI workload partitioning on multi-core systems
Deepak Shankar
 
A High-Level Programming Approach for using FPGAs in HPC using Functional Des...
A High-Level Programming Approach for using FPGAs in HPC using Functional Des...A High-Level Programming Approach for using FPGAs in HPC using Functional Des...
A High-Level Programming Approach for using FPGAs in HPC using Functional Des...
waqarnabi
 
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery LabsIncquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
IncQuery Labs
 
Operationalizing Machine Learning: Serving ML Models
Operationalizing Machine Learning: Serving ML ModelsOperationalizing Machine Learning: Serving ML Models
Operationalizing Machine Learning: Serving ML Models
Lightbend
 
Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016
Modelon
 
Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...
Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...
Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...
ijceronline
 
Basics of micro controllers for biginners
Basics of  micro controllers for biginnersBasics of  micro controllers for biginners
Basics of micro controllers for biginners
Gerwin Makanyanga
 
Advanced computer architecture lesson 5 and 6
Advanced computer architecture lesson 5 and 6Advanced computer architecture lesson 5 and 6
Advanced computer architecture lesson 5 and 6
Ismail Mukiibi
 
A Fast and Accurate Cost Model for FPGA Design Space Exploration in HPC Appli...
A Fast and Accurate Cost Model for FPGA Design Space Exploration in HPC Appli...A Fast and Accurate Cost Model for FPGA Design Space Exploration in HPC Appli...
A Fast and Accurate Cost Model for FPGA Design Space Exploration in HPC Appli...
waqarnabi
 
Machine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data StreamsMachine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Lightbend
 
AutomationML: A Model-Driven View
AutomationML: A Model-Driven ViewAutomationML: A Model-Driven View
AutomationML: A Model-Driven View
Luca Berardinelli
 
Introduction to arm processor
Introduction to arm processorIntroduction to arm processor
Introduction to arm processor
RAMPRAKASHT1
 
Ad

More from Sameh El-Ashry (8)

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
 
Chipions session 2021 - VLSI career
Chipions session 2021 - VLSI careerChipions session 2021 - VLSI career
Chipions session 2021 - VLSI career
Sameh El-Ashry
 
On Error Injection for NoC Platforms: A UVM-based Practical Case Study
On Error Injection for NoC Platforms: A UVM-based Practical Case StudyOn Error Injection for NoC Platforms: A UVM-based Practical Case Study
On Error Injection for NoC Platforms: A UVM-based Practical Case Study
Sameh El-Ashry
 
A reusable verification environment for NoC platforms using UVM
A reusable verification environment for NoC platforms using UVMA reusable verification environment for NoC platforms using UVM
A reusable verification environment for NoC platforms using UVM
Sameh El-Ashry
 
verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020
Sameh El-Ashry
 
On the verification of configurable nocs in simulation and hardware emulation...
On the verification of configurable nocs in simulation and hardware emulation...On the verification of configurable nocs in simulation and hardware emulation...
On the verification of configurable nocs in simulation and hardware emulation...
Sameh El-Ashry
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
Sameh El-Ashry
 
Code Management Workshop
Code Management WorkshopCode Management Workshop
Code Management Workshop
Sameh El-Ashry
 
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
 
Chipions session 2021 - VLSI career
Chipions session 2021 - VLSI careerChipions session 2021 - VLSI career
Chipions session 2021 - VLSI career
Sameh El-Ashry
 
On Error Injection for NoC Platforms: A UVM-based Practical Case Study
On Error Injection for NoC Platforms: A UVM-based Practical Case StudyOn Error Injection for NoC Platforms: A UVM-based Practical Case Study
On Error Injection for NoC Platforms: A UVM-based Practical Case Study
Sameh El-Ashry
 
A reusable verification environment for NoC platforms using UVM
A reusable verification environment for NoC platforms using UVMA reusable verification environment for NoC platforms using UVM
A reusable verification environment for NoC platforms using UVM
Sameh El-Ashry
 
verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020
Sameh El-Ashry
 
On the verification of configurable nocs in simulation and hardware emulation...
On the verification of configurable nocs in simulation and hardware emulation...On the verification of configurable nocs in simulation and hardware emulation...
On the verification of configurable nocs in simulation and hardware emulation...
Sameh El-Ashry
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
Sameh El-Ashry
 
Code Management Workshop
Code Management WorkshopCode Management Workshop
Code Management Workshop
Sameh El-Ashry
 
Ad

Recently uploaded (20)

Mathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdfMathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdf
TalhaShahid49
 
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Journal of Soft Computing in Civil Engineering
 
Reagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptxReagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptx
AlejandroOdio
 
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
Introduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptxIntroduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptx
AS1920
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 
Machine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptxMachine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptx
rajeswari89780
 
fluke dealers in bangalore..............
fluke dealers in bangalore..............fluke dealers in bangalore..............
fluke dealers in bangalore..............
Haresh Vaswani
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
π0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalizationπ0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalization
NABLAS株式会社
 
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdfMAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
ssuser562df4
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
Mathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdfMathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdf
TalhaShahid49
 
Reagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptxReagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptx
AlejandroOdio
 
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
Introduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptxIntroduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptx
AS1920
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 
Machine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptxMachine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptx
rajeswari89780
 
fluke dealers in bangalore..............
fluke dealers in bangalore..............fluke dealers in bangalore..............
fluke dealers in bangalore..............
Haresh Vaswani
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
π0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalizationπ0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalization
NABLAS株式会社
 
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdfMAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
ssuser562df4
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 

Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functional Coverage

  • 1. Efficient Methodology of Sampling UVM RAL during Simulation for SoC Functional Coverage Authors Sameh El-Ashry, [email protected] Ahmed Adel, [email protected] Microprocessor/SoC Test, Security & Verification (MTV18) Conference, Dcemeber 10, 2018, Austin, USA © 2018
  • 2. Outline • Motivation. • Introduction. • The Proposed UVM RAL Generation Flow. • The Proposed UVM RAL Backdoor. • Conclusions. 2
  • 3. Motivation 3 Why? How? • Why Functional Coverage? • We need good coverage model. • Sampling problem in bad coverage model. • Ex: Sampling on the clock is dangerous for simulation performance. • Sampling on the change of the register. • Efficient backdoor technique is proposed using RAL model.
  • 4. Motivation2 • Register files verification represent critical part of any digital design verification process. • One of the most powerful ways to model memories and register files is using Register Abstraction Layer (RAL) which is part of the UVM. • This paper will go through the process of UVM Register model generation with its coverage model using Synopsys tools. 4
  • 5. Motivation3 • We propose an efficient and automated methodology of functional coverage UVM- based verification environment supported by RAL model, backdoor access and how to automatically generate it starting from IP-XACT model till producing the UVM RAL model. • The proposed methodology has strong flexibility in frequent design specification changes. • The proposed functional coverage technique is applied to beat performance degradation and enhance the simulation. 5
  • 7. Register Abstraction Layer (RAL) • Verification engineers use register models to ease the stimulus generation and the functional checking. • A register model consists of a set of register definitions, register instances clustered under a register block and their address mappings into Design Under Test's (DUT) address space. • RAL allows modeling and verification of hardware registers and memory blocks, the UVM register layer provides read() or write() tasks that can be called from a UVM sequence. 7
  • 8. UVM Register Library Features 8 • Read and write for the registers and the memories as part of the normal operation. • Modeling registers, memory blocks and analyze the register activity. • Checking the DUT registers and memories against a shadow device (with shadow registers) at the scoreboard. • Collect coverage on the registers that are created at the RAL model (point to improve). • Initialize the DUT registers and memories. • Randomize the contents of DUT registers and memories.
  • 9. The Proposed UVM RAL Generation Flow • The UVM RAL Generation Flow • The Proposed Generic, Scalable, and Configurable UVM Architecture 9
  • 10. The UVM RAL Generation Flow • UVM provides mapping of register content of DUT, a layer for accessing register, and memory locations within DUT which is called as RAL. • Once a description of the available registers and memories in a design is available, ralgen tool proposed by Synopsys can automatically generate the UVM RAL for these registers. 10
  • 11. The UVM RAL Generation Flow2 11 • Figure describes the flow of the UVM register model generation starting from the Excel spreadsheet register file, the generating of Register Abstraction Layer File (RALF) format. Register File Excel Format IP-XACT Schema Format RALF Model UVM Register Model UVM Register Model Generation Flow ralgen Tool ralgen Tool User Script
  • 12. The Proposed UVM Architecture 12 • The designed testbench uses a UVM methodology and constrained random verification techniques. • The goal is to meet the expected functional coverage metrics, and verifying the digital hardware parts in System-on-Chip (SoC) ,and wireless systems.
  • 13. The Proposed UVM Architecture2 13 • The verification environment was designed to verify a network consisting of up to four PHYs (DUTs) and can be configured to support extra DUTs as shown in Figure. • One RAL model is implemented, although we created instances from the RAL model for each peer.
  • 14. The Proposed Generic UVM Architecture3 14 • A shared functional coverage model is implemented for all DUTs as some scenarios may happen at the transmitter side, others scenarios may happen at the receiver side.
  • 15. The Proposed UVM Architecture4 15 • One coverage database is needed for the network so the total coverage percentage is easily merged by automatic way due to the shared functional coverage model. • A structured testbench is built using classes based on UVM supported by UVM RAL model and RAL backdoor access.
  • 16. The Proposed UVM Architecture5 16 • Another effect of using the RAL model is that the total coverage closure time is reduced due to an automatic integration for the functional coverage and the covergroups results for all DUT’s instances. • The automatic integration is achieved by mapping all the DUT’s instances to the same covergroups at the RAL model.
  • 17. The Proposed UVM Architecture6 17 • There is one more important thing to simulation performance. • The number of calling the sample coverage task badly affects simulation performance next to the size of design. • Thus, the concept of backdoor for specific data path has been applied to register modeling.
  • 18. The Proposed UVM RAL Backdoor • Conventional UVM Backdoor classes • Modified UVM Backdoor classes for Coverage Sampling • Proposed Backdoor Sampling Technique for Checking Proposes 18
  • 19. Backdoor Access 19 • Front-door access uses the same bus interface for observing operations. This is commonly used in simulation-based register verification because it does not require an additional interface for observation. • Back-door access uses a different interface for observation – usually direct access to registers. • Backdoor access enables efficient observation, but requires the use of an additional interface. • Backdoor improves the efficiency of verifying registers as it can access register locations with little or no simulation time.
  • 20. EDA Vendors RAL Generators 20 • The input specification of a register model such as IPXACT, System RDL, Excel file or word file (typically in IPXACT or RALF in our case study) contains all of the necessary information to generate the UVM register model leveraging the UVM base class library. Commercial or open source generators ralgen tool IP_XACT System RDL Excel file Word file UVM Classes RAL Registers Backdoor read/Write Tasks Backdoor Classes for Registers Model Coverage UVM Register Model
  • 21. Conventional UVM Backdoor classes 21 • There is a lack of literature discussing the backdoor technique using the hierarchical HDL path based backdoors. • We discuss the backdoor mechanism and the challenges associated with it. • In this mechanism, register constructs are accessed using the Verilog style cross- module references. • This would be relatively less intensive with regards to simulation performance as the HDL paths are all resolved at the compile time.
  • 22. Generated UVM RAL read/write backdoor tasks 22 • The interface would contain tasks defined within it to access the constructs that are used to model registers in the RTL of the DUT.
  • 23. Generated UVM RAL backdoor classes 23 • The usage of the backdoor classes and the signatures will not change which will allow existing RTL code to work seamlessly with the newly generated model.
  • 24. Modified UVM RAL interface with wait for change tasks 24 • When Active Monitoring code is desired, the following generated classes and tasks are modified additionally as shown in Figure.
  • 25. Modified UVM RAL backdoor classes 25 • The additional code in the interface file would be as shown: Sampling event to use it in coverage sampling at the base_test to achieve high performance coverage/simulation.
  • 26. Modified UVM RAL backdoor interface. 26
  • 27. Functional Coverage Model Generation 27 • The coverage model is created at the proposed UVM environment by our scripts to generate covergroups for the desired registers only and avoid the auto generated coverage model from the ralgen tool for all registers that are created at the RAL model so that a higher coverage simulation performance is achieved. ralgen tool IP_XACT UVM Classes RAL Registers Backdoor read/Write Tasks (will be modified) Backdoor Classes for Registers (will be modified) RAL with Model Coverage UVM Register Model User Script bins_reg_1.txt bins_reg_2.txt bins_reg_N.txt
  • 28. Sampling of the coverage model 28 • The sampling of the coverage model for coverage closure is happening at the UVM test layer and is controlled using the event trigger for high simulation performance as shown in Figure.
  • 29. Sampling for Scoreboard Checking 29 • The scoreboard peeks registers to use the register’s value in a comparison process, the scoreboard may pull up on the change of the register based on an event that is triggered from the backdoor classes as shown in Figure.
  • 30. Conclusions • Commercial or open source tools support the automatic generation for the functional coverage model and the covergroups for all implemented registers at the RAL model. • The auto-generated covergroups are not the most efficient coverage method as the verification engineers may need to exclude some undesirable registers from the final coverage report based on the verification coverage plan that is prepared at the starting of the project. • The coverage sampling of undesirable registers may lead to low simulation performance, a new efficient methodology is proposed for the coverage sampling based on RAL backdoor access to achieve the highest simulation performance. • The automated methodology has strong flexibility and high-level maintainability upon frequent specification changes. 30