SlideShare a Scribd company logo
1 of 4
Download to read offline
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 09 Issue: 07 | July 2022 www.irjet.net p-ISSN: 2395-0072
© 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal | Page 2122
Deployment of Debug and Trace for features in RISC-V Core
Sharad1, Dr. Kiran V2
1Student, RV College of Engineering, Karnataka India
2Associate Professor, RV College of Engineering, Karnataka India
---------------------------------------------------------------------***---------------------------------------------------------------------
Abstract - Modern technology complexity of SOC designs
makes it challenging to create a bug-free design. Therefore,
the chip design pipeline includes a number of procedures to
find faults both early on and later on. By locating the
problems in the system and localising them, verification and
validation both check if the design adheres to the
specification, but at separate points in the design cycle.
Verification is a pre-silicon process that involves modelling
the functioning of the design. The method of proving that an
RTL design is functionally accurate with regard to the
design standards is known as functional verification.
Functional verification makes an effort to determine
whether the suggested design is performing as expected. The
majority of the time and energy required for most
significant electrical system design projects is spent on this
complicated endeavour. It is essential that the design be
functionally tested and that any possible bugs be found
early. This paper discuss about verification done using trace
method of debugging in RISC V core.
Key Words: Verification; Debugging; Trace; RISCV;
1. INTRODUCTION
Given the limitations of time and money, a development
team wants to make sure that the design has as few faults
as possible before a chip or system goes into
manufacturing. That is the verification act, and the
coverage-based confidence level is measured in that way.
Debugging begins when an issue is identified, and it has
been estimated that this process can take anywhere
between 35 and 50 percent of the overall project duration.
The detection and elimination of design defects as well as
verification environment bugs are included in Fig.1. The
fact that the time to a remedy is unpredictable after a
defect has been detected is more concerning to many
teams. A significant portion of the debugging process is
unpredictable, and finding the best repair can be
challenging and even result in the introduction of new
defects.
There are two ASIC methods for debugging. First, an issue
must be identified, frequently by running a model of the
design using a testcase. Next, the problem's source must
be ascertained, and finally, a remedy must be chosen. The
second option is to analyse a system using tools that are
often static analysis tools that aim to identify a class of
issues utilising broad analytical methodologies. Running
debugging and tracing in the "RISC V core" is crucial for
validating new features because design flaws cost the firm
time, effort, and resources.
Fig.1. Where ASIC Engineers spend time
2. PHASES OF VERIFICATION
The different phases of verification is shown in Fig.2
2.1 Verification Plan
A test plan is a live document that serves as a road map for
achieving the goal. Introduction, presumptions, a list of
test cases, a list of features to be tested, an approach,
deliverables, resources, risks and timing, as well as entry
and exit criteria are all included in the test plan. A test plan
aids a verification engineer in understanding how to
conduct a verification. A test plan may be presented as a
document, spreadsheet, or straightforward text file,
among other formats. Sometimes an engineer's test plan
merely exists in their head, which is risky because it
prevents the process from being accurately measured and
managed. The test plan also includes a description of the
architecture of the testbench as well as a breakdown of
each component's capabilities.
2.2 Building Testbench
The development of the verification environment occurs in
this phase. If more than one engineer is working on it, each
verification component might be built sequentially or
concurrently. The coverage module should be written
down first because it provides an indication of how the
verification is going.
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 09 Issue: 07 | July 2022 www.irjet.net p-ISSN: 2395-0072
© 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal | Page 2123
2.3 Writing Tests
It's time to validate the DUT when the TestBench has been
developed and integrated with the DUT. In CDV, the tests
are first run at random until about 70% of coverage is
obtained or there is no progress in the coverage over a one-
day simulation. The coverage reports are analysed, and
additional tests are written to fill in the gaps.
Randomization is used in these tests to fill in the gaps.
Finally, corner cases, or difficult-to-reach events, must be
written in a directed verification style. Naturally,
debugging is carried out concurrently with DUT fixes.
Fig.2. Phases of Verification
2.4 Code Coverage
To measure the efficiency of verification implementation
and to check whether the testbench has exercised the
design completely, code coverage is used. code coverage
checks whether:
 lines of the DUT has been exercised.
 states in the FSM has been entered.
 paths within a block have been exercised.
 branches in Case have been entered.
 conditions in an if statement is simulated.
Types of code coverage are:
2.4.1 Line Coverage:
Number of statements (lines) covered in the simulation is
measured by statement coverage. It is expected to be 100%
for every project.
2.4.2 Block/Segment Coverage:
The block which are covered by begin-end, if-else or
always, group of statements are counted by the block
coverage.
2.4.3 Branch / Decision / Conditional Coverage:
Branch coverage will check the true or false of the branch
like if-else, case and the ternary operator (? :) statements.
The statements in these blocks are exercised by the applied
stimulus.
2.4.4 Path Coverage:
Different paths are created because of conditional
statements, which diverts the flow of stimulus to the
specific path. According to the applied stimulus the
condition which is satisfied only under those expressions
will execute, the path will be diverted according to that.
Path coverage covers these paths.
2.4.5 Toggle Coverage
Its the ratio of number of nodes toggled to the total number
of nodes present.
2.4.6 Functional Coverage
Functional coverage will check the overall functionality of
the design. It can be done using system verilog.
2.5 Analyze Coverage
At last analyzed both the functional coverage and code
coverage report and taken necessary steps to achieve
coverage goals and running different simulations with
different seed values. The overall block diagram is shown
in Fig.3.
Fig.3. Block Diagram of Test
3. Debugging
Finding and removing flaws is a meticulous process called
debugging. When a DUT's outputs do not match
expectations, a defect may exist in the DUT or occasionally
in the testbench. Software tools called debuggers give
verification and design engineers the ability to track a
program's progress, pause, resume, and run it in
interactive mode.
The basic steps in debugging are:
 Recognize the existence of a bug.
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 09 Issue: 07 | July 2022 www.irjet.net p-ISSN: 2395-0072
© 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal | Page 2124
 Determine the bug's origin.
 Find the source of the bug.
 Find a solution to the bug.
 After fixing it, test it.
3.1 Pass/Fail
Every test simulation should terminate with the generation
of a TEST FAILED or TEST PASSED report. It's known as
self-checking. If a test fails, log files and a waveform viewer
might aid in further debugging.
3.2 Log File
The operation is recorded in a text log file. The
appropriate information may be transmitted to log files
using Display system tasks. Three categories make up the
display group of system tasks: the display and write
activities, the strobed monitoring duties, and the
continuous monitoring jobs.
4. Debug by tracing
The term "trace" describes the procedure of gathering data
that demonstrates how a design's constituent parts are
functioning, carrying out, and performing. The trace
facilities that a target gives determine the traceability of
that target. For instance, storing trace data on a target for
subsequent analysis is only possible if the target has the
necessary capacities.
4.1 Instruction Trace
Information regarding a core's or processor's execution of
instructions is produced via the instruction trace. In a
straightforward example, if an instruction trace is enabled
and a core runs a loop 10 times, the decoded instruction
trace data will display the related loop code ten times as
shown in Fig.4.
Fig.4. Instruction Trace
4.2 Data Trace
Data trace generates details about a core's or processor's
data accesses. For instance, the data trace displays a load
instruction together with the corresponding load location
and value if a memory load instruction is executed and data
trace is enabled. The Fig. 5 below illustrates how a data
access would look in a data trace:
Fig.5. Data Trace
4.3 Instrumentation Trace
Operating System (OS), application, and system data are
produced through instrumentation traces. The
environment might push useful runtime data to the
instrumentation trace source for later analysis, for
instance, if an event happens when an application runs and
instrumentation trace is enabled.
5. Post Simulation Check
The data traced by the Trace encoder is not checked in the
test itself, it is done by post simulation scripts. The trace
data from the trace sink is decoded and the program flow is
reconstructed using the test's elf file. The reconstructed
trace program flow is then checked against the simulation
program flow which comes from internal monitors. The
trace on and trace off labels are inserted in the test. These
labels are preserved in the elf file, which is then used by the
post-sim checker to figure out when trace is enabled or
disabled in the test.
6.Result
The results from verification of test includes coverage
report as shown in Table 1. Based on the coverage report
values, it tells whether the debugging is required or not.
The overall debug process is done to increase the coverage
values. The Traced data in ASCII format is shown in Fig 6.
The post simulation checker compares the traced data and
the simulation data, if both are same, it reports a text
message of OK as shown in Fig.7.
Table -1: Coverage Values
Line Conditional Toggle Branch
74.6
955/1279
71.19
729/1024
37.69
2205/5850
65.90
1144/1736
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 09 Issue: 07 | July 2022 www.irjet.net p-ISSN: 2395-0072
© 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal | Page 2125
Fig.6. Traced data in ASCII Format
Fig.7. Post sim checker result
7.Future scope
ASIC and FPGA sizes are getting bigger and bigger, which
is increasingly complicating verification. Long verification
is being caused by each tiny change in setup. Therefore,
50-70% of the resources allocated for chip development
are now being absorbed by verification activities. The
difficulty of verification further rises with the inclusion of
the CPU in the SoC, Which requires a deep knowledge of
architecture. Therefore effective ways of debugging i.e by
tracing is required.
8.Conclusion
The proper verification steps are defined which involves
collecting coverage values and based on coverage value
decided to debug. The debug by trace method is followed.
The traced data is collected by tracing over the code, and
in the post simulation part, the traced data (program
counter values) from the trace encoder, is compared with
the simulation data and it reports a message OK, if both
are same and if there is any mismatch, it will show the
report as error.
REFERENCES
[1] A. Waterman and K. Asanovi, “The risc-v instruction
set manual volume i: User-level isa document version
2,” CS Division EECS Department University of
California, 2017.
[2] X. Z. Linlin Su, “A real-time interactive verification
system for asic design,” IEEE, 2009.
[3] A. S. Kuen-Jong Lee Chin-Yao Chang, “A unified test
and debug platform for soc design,”IEEE 8th
International Conference on ASIC, 2009.
[4] K. V. A. B. Akshay Birari Piyush Birla, “A risc-v isa
compatible processor ip,”IEEE, 2020.
[5] D. S. V. D. Aneesh Raveendran Vinayak Baramu Patil,
“A risc-v instruction set processor-micro-architecture
design and analysis,” IEEE, 2016.
[6] E. R. Wilmer Ramirez Marco Sarmiento, “A flexible
debugger for a risc-v based 32-bit system-on-chip,”
IEEE, 2020.
[7] P. M. Kamran Rahmani Sudhi Proch, “Efficient
selection of trace and scan signals for post-silicon
debug,” IEEE, 2015.
[8] Z. N. Fatemeh Refan Bijan Alizadeh, “Bridging
presilicon and postsilicon debugging by instruction-
based trace signal selection in modern processors,”
IEEE, 2017.

More Related Content

Similar to Deployment of Debug and Trace for features in RISC-V Core

The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...
The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...
The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...
Omar Jaradat
 
Ijarcet vol-2-issue-4-1291-1297
Ijarcet vol-2-issue-4-1291-1297Ijarcet vol-2-issue-4-1291-1297
Ijarcet vol-2-issue-4-1291-1297
Editor IJARCET
 
Ch 9 traceability and verification
Ch 9 traceability and verificationCh 9 traceability and verification
Ch 9 traceability and verification
Kittitouch Suteeca
 

Similar to Deployment of Debug and Trace for features in RISC-V Core (20)

1506.08725v1
1506.08725v11506.08725v1
1506.08725v1
 
IRJET- A Review on Bug Tracking System
IRJET- A Review on Bug Tracking SystemIRJET- A Review on Bug Tracking System
IRJET- A Review on Bug Tracking System
 
IRJET- Research Study on Testing Mantle in SDLC
IRJET- Research Study on Testing Mantle in SDLCIRJET- Research Study on Testing Mantle in SDLC
IRJET- Research Study on Testing Mantle in SDLC
 
The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...
The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...
The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...
 
Predicting Machine Learning Pipeline Runtimes in the Context of Automated Mac...
Predicting Machine Learning Pipeline Runtimes in the Context of Automated Mac...Predicting Machine Learning Pipeline Runtimes in the Context of Automated Mac...
Predicting Machine Learning Pipeline Runtimes in the Context of Automated Mac...
 
DevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationDevOps CI Automation Continuous Integration
DevOps CI Automation Continuous Integration
 
Towards 0-bug software in the automotive industry
Towards 0-bug software in the automotive industryTowards 0-bug software in the automotive industry
Towards 0-bug software in the automotive industry
 
A Unique Test Bench for Various System-on-a-Chip
A Unique Test Bench for Various System-on-a-Chip A Unique Test Bench for Various System-on-a-Chip
A Unique Test Bench for Various System-on-a-Chip
 
Ijarcet vol-2-issue-4-1291-1297
Ijarcet vol-2-issue-4-1291-1297Ijarcet vol-2-issue-4-1291-1297
Ijarcet vol-2-issue-4-1291-1297
 
VAL-210-Computer-Validati-Plan-sample.pdf
VAL-210-Computer-Validati-Plan-sample.pdfVAL-210-Computer-Validati-Plan-sample.pdf
VAL-210-Computer-Validati-Plan-sample.pdf
 
UVM BASED REUSABLE VERIFICATION IP FOR WISHBONE COMPLIANT SPI MASTER CORE
UVM BASED REUSABLE VERIFICATION IP FOR WISHBONE COMPLIANT SPI MASTER COREUVM BASED REUSABLE VERIFICATION IP FOR WISHBONE COMPLIANT SPI MASTER CORE
UVM BASED REUSABLE VERIFICATION IP FOR WISHBONE COMPLIANT SPI MASTER CORE
 
UVM BASED REUSABLE VERIFICATION IP FOR WISHBONE COMPLIANT SPI MASTER CORE
UVM BASED REUSABLE VERIFICATION IP FOR WISHBONE COMPLIANT SPI MASTER COREUVM BASED REUSABLE VERIFICATION IP FOR WISHBONE COMPLIANT SPI MASTER CORE
UVM BASED REUSABLE VERIFICATION IP FOR WISHBONE COMPLIANT SPI MASTER CORE
 
UVM BASED REUSABLE VERIFICATION IP FOR WISHBONE COMPLIANT SPI MASTER CORE
UVM BASED REUSABLE VERIFICATION IP FOR WISHBONE COMPLIANT SPI MASTER COREUVM BASED REUSABLE VERIFICATION IP FOR WISHBONE COMPLIANT SPI MASTER CORE
UVM BASED REUSABLE VERIFICATION IP FOR WISHBONE COMPLIANT SPI MASTER CORE
 
A Study on Vulnerability Management
A Study on Vulnerability ManagementA Study on Vulnerability Management
A Study on Vulnerability Management
 
IRJET- An Sla-Aware Cloud Coalition Formation Approach for Virtualized Networks.
IRJET- An Sla-Aware Cloud Coalition Formation Approach for Virtualized Networks.IRJET- An Sla-Aware Cloud Coalition Formation Approach for Virtualized Networks.
IRJET- An Sla-Aware Cloud Coalition Formation Approach for Virtualized Networks.
 
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONSTATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
 
Ch 9 traceability and verification
Ch 9 traceability and verificationCh 9 traceability and verification
Ch 9 traceability and verification
 
Error Isolation and Management in Agile Multi-Tenant Cloud Based Applications
Error Isolation and Management in Agile Multi-Tenant Cloud Based Applications Error Isolation and Management in Agile Multi-Tenant Cloud Based Applications
Error Isolation and Management in Agile Multi-Tenant Cloud Based Applications
 
Error isolation and management in agile
Error isolation and management in agileError isolation and management in agile
Error isolation and management in agile
 

More from IRJET Journal

More from IRJET Journal (20)

TUNNELING IN HIMALAYAS WITH NATM METHOD: A SPECIAL REFERENCES TO SUNGAL TUNNE...
TUNNELING IN HIMALAYAS WITH NATM METHOD: A SPECIAL REFERENCES TO SUNGAL TUNNE...TUNNELING IN HIMALAYAS WITH NATM METHOD: A SPECIAL REFERENCES TO SUNGAL TUNNE...
TUNNELING IN HIMALAYAS WITH NATM METHOD: A SPECIAL REFERENCES TO SUNGAL TUNNE...
 
STUDY THE EFFECT OF RESPONSE REDUCTION FACTOR ON RC FRAMED STRUCTURE
STUDY THE EFFECT OF RESPONSE REDUCTION FACTOR ON RC FRAMED STRUCTURESTUDY THE EFFECT OF RESPONSE REDUCTION FACTOR ON RC FRAMED STRUCTURE
STUDY THE EFFECT OF RESPONSE REDUCTION FACTOR ON RC FRAMED STRUCTURE
 
A COMPARATIVE ANALYSIS OF RCC ELEMENT OF SLAB WITH STARK STEEL (HYSD STEEL) A...
A COMPARATIVE ANALYSIS OF RCC ELEMENT OF SLAB WITH STARK STEEL (HYSD STEEL) A...A COMPARATIVE ANALYSIS OF RCC ELEMENT OF SLAB WITH STARK STEEL (HYSD STEEL) A...
A COMPARATIVE ANALYSIS OF RCC ELEMENT OF SLAB WITH STARK STEEL (HYSD STEEL) A...
 
Effect of Camber and Angles of Attack on Airfoil Characteristics
Effect of Camber and Angles of Attack on Airfoil CharacteristicsEffect of Camber and Angles of Attack on Airfoil Characteristics
Effect of Camber and Angles of Attack on Airfoil Characteristics
 
A Review on the Progress and Challenges of Aluminum-Based Metal Matrix Compos...
A Review on the Progress and Challenges of Aluminum-Based Metal Matrix Compos...A Review on the Progress and Challenges of Aluminum-Based Metal Matrix Compos...
A Review on the Progress and Challenges of Aluminum-Based Metal Matrix Compos...
 
Dynamic Urban Transit Optimization: A Graph Neural Network Approach for Real-...
Dynamic Urban Transit Optimization: A Graph Neural Network Approach for Real-...Dynamic Urban Transit Optimization: A Graph Neural Network Approach for Real-...
Dynamic Urban Transit Optimization: A Graph Neural Network Approach for Real-...
 
Structural Analysis and Design of Multi-Storey Symmetric and Asymmetric Shape...
Structural Analysis and Design of Multi-Storey Symmetric and Asymmetric Shape...Structural Analysis and Design of Multi-Storey Symmetric and Asymmetric Shape...
Structural Analysis and Design of Multi-Storey Symmetric and Asymmetric Shape...
 
A Review of “Seismic Response of RC Structures Having Plan and Vertical Irreg...
A Review of “Seismic Response of RC Structures Having Plan and Vertical Irreg...A Review of “Seismic Response of RC Structures Having Plan and Vertical Irreg...
A Review of “Seismic Response of RC Structures Having Plan and Vertical Irreg...
 
A REVIEW ON MACHINE LEARNING IN ADAS
A REVIEW ON MACHINE LEARNING IN ADASA REVIEW ON MACHINE LEARNING IN ADAS
A REVIEW ON MACHINE LEARNING IN ADAS
 
Long Term Trend Analysis of Precipitation and Temperature for Asosa district,...
Long Term Trend Analysis of Precipitation and Temperature for Asosa district,...Long Term Trend Analysis of Precipitation and Temperature for Asosa district,...
Long Term Trend Analysis of Precipitation and Temperature for Asosa district,...
 
P.E.B. Framed Structure Design and Analysis Using STAAD Pro
P.E.B. Framed Structure Design and Analysis Using STAAD ProP.E.B. Framed Structure Design and Analysis Using STAAD Pro
P.E.B. Framed Structure Design and Analysis Using STAAD Pro
 
A Review on Innovative Fiber Integration for Enhanced Reinforcement of Concre...
A Review on Innovative Fiber Integration for Enhanced Reinforcement of Concre...A Review on Innovative Fiber Integration for Enhanced Reinforcement of Concre...
A Review on Innovative Fiber Integration for Enhanced Reinforcement of Concre...
 
Survey Paper on Cloud-Based Secured Healthcare System
Survey Paper on Cloud-Based Secured Healthcare SystemSurvey Paper on Cloud-Based Secured Healthcare System
Survey Paper on Cloud-Based Secured Healthcare System
 
Review on studies and research on widening of existing concrete bridges
Review on studies and research on widening of existing concrete bridgesReview on studies and research on widening of existing concrete bridges
Review on studies and research on widening of existing concrete bridges
 
React based fullstack edtech web application
React based fullstack edtech web applicationReact based fullstack edtech web application
React based fullstack edtech web application
 
A Comprehensive Review of Integrating IoT and Blockchain Technologies in the ...
A Comprehensive Review of Integrating IoT and Blockchain Technologies in the ...A Comprehensive Review of Integrating IoT and Blockchain Technologies in the ...
A Comprehensive Review of Integrating IoT and Blockchain Technologies in the ...
 
A REVIEW ON THE PERFORMANCE OF COCONUT FIBRE REINFORCED CONCRETE.
A REVIEW ON THE PERFORMANCE OF COCONUT FIBRE REINFORCED CONCRETE.A REVIEW ON THE PERFORMANCE OF COCONUT FIBRE REINFORCED CONCRETE.
A REVIEW ON THE PERFORMANCE OF COCONUT FIBRE REINFORCED CONCRETE.
 
Optimizing Business Management Process Workflows: The Dynamic Influence of Mi...
Optimizing Business Management Process Workflows: The Dynamic Influence of Mi...Optimizing Business Management Process Workflows: The Dynamic Influence of Mi...
Optimizing Business Management Process Workflows: The Dynamic Influence of Mi...
 
Multistoried and Multi Bay Steel Building Frame by using Seismic Design
Multistoried and Multi Bay Steel Building Frame by using Seismic DesignMultistoried and Multi Bay Steel Building Frame by using Seismic Design
Multistoried and Multi Bay Steel Building Frame by using Seismic Design
 
Cost Optimization of Construction Using Plastic Waste as a Sustainable Constr...
Cost Optimization of Construction Using Plastic Waste as a Sustainable Constr...Cost Optimization of Construction Using Plastic Waste as a Sustainable Constr...
Cost Optimization of Construction Using Plastic Waste as a Sustainable Constr...
 

Recently uploaded

Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 

Recently uploaded (20)

(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 

Deployment of Debug and Trace for features in RISC-V Core

  • 1. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 09 Issue: 07 | July 2022 www.irjet.net p-ISSN: 2395-0072 © 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal | Page 2122 Deployment of Debug and Trace for features in RISC-V Core Sharad1, Dr. Kiran V2 1Student, RV College of Engineering, Karnataka India 2Associate Professor, RV College of Engineering, Karnataka India ---------------------------------------------------------------------***--------------------------------------------------------------------- Abstract - Modern technology complexity of SOC designs makes it challenging to create a bug-free design. Therefore, the chip design pipeline includes a number of procedures to find faults both early on and later on. By locating the problems in the system and localising them, verification and validation both check if the design adheres to the specification, but at separate points in the design cycle. Verification is a pre-silicon process that involves modelling the functioning of the design. The method of proving that an RTL design is functionally accurate with regard to the design standards is known as functional verification. Functional verification makes an effort to determine whether the suggested design is performing as expected. The majority of the time and energy required for most significant electrical system design projects is spent on this complicated endeavour. It is essential that the design be functionally tested and that any possible bugs be found early. This paper discuss about verification done using trace method of debugging in RISC V core. Key Words: Verification; Debugging; Trace; RISCV; 1. INTRODUCTION Given the limitations of time and money, a development team wants to make sure that the design has as few faults as possible before a chip or system goes into manufacturing. That is the verification act, and the coverage-based confidence level is measured in that way. Debugging begins when an issue is identified, and it has been estimated that this process can take anywhere between 35 and 50 percent of the overall project duration. The detection and elimination of design defects as well as verification environment bugs are included in Fig.1. The fact that the time to a remedy is unpredictable after a defect has been detected is more concerning to many teams. A significant portion of the debugging process is unpredictable, and finding the best repair can be challenging and even result in the introduction of new defects. There are two ASIC methods for debugging. First, an issue must be identified, frequently by running a model of the design using a testcase. Next, the problem's source must be ascertained, and finally, a remedy must be chosen. The second option is to analyse a system using tools that are often static analysis tools that aim to identify a class of issues utilising broad analytical methodologies. Running debugging and tracing in the "RISC V core" is crucial for validating new features because design flaws cost the firm time, effort, and resources. Fig.1. Where ASIC Engineers spend time 2. PHASES OF VERIFICATION The different phases of verification is shown in Fig.2 2.1 Verification Plan A test plan is a live document that serves as a road map for achieving the goal. Introduction, presumptions, a list of test cases, a list of features to be tested, an approach, deliverables, resources, risks and timing, as well as entry and exit criteria are all included in the test plan. A test plan aids a verification engineer in understanding how to conduct a verification. A test plan may be presented as a document, spreadsheet, or straightforward text file, among other formats. Sometimes an engineer's test plan merely exists in their head, which is risky because it prevents the process from being accurately measured and managed. The test plan also includes a description of the architecture of the testbench as well as a breakdown of each component's capabilities. 2.2 Building Testbench The development of the verification environment occurs in this phase. If more than one engineer is working on it, each verification component might be built sequentially or concurrently. The coverage module should be written down first because it provides an indication of how the verification is going.
  • 2. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 09 Issue: 07 | July 2022 www.irjet.net p-ISSN: 2395-0072 © 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal | Page 2123 2.3 Writing Tests It's time to validate the DUT when the TestBench has been developed and integrated with the DUT. In CDV, the tests are first run at random until about 70% of coverage is obtained or there is no progress in the coverage over a one- day simulation. The coverage reports are analysed, and additional tests are written to fill in the gaps. Randomization is used in these tests to fill in the gaps. Finally, corner cases, or difficult-to-reach events, must be written in a directed verification style. Naturally, debugging is carried out concurrently with DUT fixes. Fig.2. Phases of Verification 2.4 Code Coverage To measure the efficiency of verification implementation and to check whether the testbench has exercised the design completely, code coverage is used. code coverage checks whether:  lines of the DUT has been exercised.  states in the FSM has been entered.  paths within a block have been exercised.  branches in Case have been entered.  conditions in an if statement is simulated. Types of code coverage are: 2.4.1 Line Coverage: Number of statements (lines) covered in the simulation is measured by statement coverage. It is expected to be 100% for every project. 2.4.2 Block/Segment Coverage: The block which are covered by begin-end, if-else or always, group of statements are counted by the block coverage. 2.4.3 Branch / Decision / Conditional Coverage: Branch coverage will check the true or false of the branch like if-else, case and the ternary operator (? :) statements. The statements in these blocks are exercised by the applied stimulus. 2.4.4 Path Coverage: Different paths are created because of conditional statements, which diverts the flow of stimulus to the specific path. According to the applied stimulus the condition which is satisfied only under those expressions will execute, the path will be diverted according to that. Path coverage covers these paths. 2.4.5 Toggle Coverage Its the ratio of number of nodes toggled to the total number of nodes present. 2.4.6 Functional Coverage Functional coverage will check the overall functionality of the design. It can be done using system verilog. 2.5 Analyze Coverage At last analyzed both the functional coverage and code coverage report and taken necessary steps to achieve coverage goals and running different simulations with different seed values. The overall block diagram is shown in Fig.3. Fig.3. Block Diagram of Test 3. Debugging Finding and removing flaws is a meticulous process called debugging. When a DUT's outputs do not match expectations, a defect may exist in the DUT or occasionally in the testbench. Software tools called debuggers give verification and design engineers the ability to track a program's progress, pause, resume, and run it in interactive mode. The basic steps in debugging are:  Recognize the existence of a bug.
  • 3. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 09 Issue: 07 | July 2022 www.irjet.net p-ISSN: 2395-0072 © 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal | Page 2124  Determine the bug's origin.  Find the source of the bug.  Find a solution to the bug.  After fixing it, test it. 3.1 Pass/Fail Every test simulation should terminate with the generation of a TEST FAILED or TEST PASSED report. It's known as self-checking. If a test fails, log files and a waveform viewer might aid in further debugging. 3.2 Log File The operation is recorded in a text log file. The appropriate information may be transmitted to log files using Display system tasks. Three categories make up the display group of system tasks: the display and write activities, the strobed monitoring duties, and the continuous monitoring jobs. 4. Debug by tracing The term "trace" describes the procedure of gathering data that demonstrates how a design's constituent parts are functioning, carrying out, and performing. The trace facilities that a target gives determine the traceability of that target. For instance, storing trace data on a target for subsequent analysis is only possible if the target has the necessary capacities. 4.1 Instruction Trace Information regarding a core's or processor's execution of instructions is produced via the instruction trace. In a straightforward example, if an instruction trace is enabled and a core runs a loop 10 times, the decoded instruction trace data will display the related loop code ten times as shown in Fig.4. Fig.4. Instruction Trace 4.2 Data Trace Data trace generates details about a core's or processor's data accesses. For instance, the data trace displays a load instruction together with the corresponding load location and value if a memory load instruction is executed and data trace is enabled. The Fig. 5 below illustrates how a data access would look in a data trace: Fig.5. Data Trace 4.3 Instrumentation Trace Operating System (OS), application, and system data are produced through instrumentation traces. The environment might push useful runtime data to the instrumentation trace source for later analysis, for instance, if an event happens when an application runs and instrumentation trace is enabled. 5. Post Simulation Check The data traced by the Trace encoder is not checked in the test itself, it is done by post simulation scripts. The trace data from the trace sink is decoded and the program flow is reconstructed using the test's elf file. The reconstructed trace program flow is then checked against the simulation program flow which comes from internal monitors. The trace on and trace off labels are inserted in the test. These labels are preserved in the elf file, which is then used by the post-sim checker to figure out when trace is enabled or disabled in the test. 6.Result The results from verification of test includes coverage report as shown in Table 1. Based on the coverage report values, it tells whether the debugging is required or not. The overall debug process is done to increase the coverage values. The Traced data in ASCII format is shown in Fig 6. The post simulation checker compares the traced data and the simulation data, if both are same, it reports a text message of OK as shown in Fig.7. Table -1: Coverage Values Line Conditional Toggle Branch 74.6 955/1279 71.19 729/1024 37.69 2205/5850 65.90 1144/1736
  • 4. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 09 Issue: 07 | July 2022 www.irjet.net p-ISSN: 2395-0072 © 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal | Page 2125 Fig.6. Traced data in ASCII Format Fig.7. Post sim checker result 7.Future scope ASIC and FPGA sizes are getting bigger and bigger, which is increasingly complicating verification. Long verification is being caused by each tiny change in setup. Therefore, 50-70% of the resources allocated for chip development are now being absorbed by verification activities. The difficulty of verification further rises with the inclusion of the CPU in the SoC, Which requires a deep knowledge of architecture. Therefore effective ways of debugging i.e by tracing is required. 8.Conclusion The proper verification steps are defined which involves collecting coverage values and based on coverage value decided to debug. The debug by trace method is followed. The traced data is collected by tracing over the code, and in the post simulation part, the traced data (program counter values) from the trace encoder, is compared with the simulation data and it reports a message OK, if both are same and if there is any mismatch, it will show the report as error. REFERENCES [1] A. Waterman and K. Asanovi, “The risc-v instruction set manual volume i: User-level isa document version 2,” CS Division EECS Department University of California, 2017. [2] X. Z. Linlin Su, “A real-time interactive verification system for asic design,” IEEE, 2009. [3] A. S. Kuen-Jong Lee Chin-Yao Chang, “A unified test and debug platform for soc design,”IEEE 8th International Conference on ASIC, 2009. [4] K. V. A. B. Akshay Birari Piyush Birla, “A risc-v isa compatible processor ip,”IEEE, 2020. [5] D. S. V. D. Aneesh Raveendran Vinayak Baramu Patil, “A risc-v instruction set processor-micro-architecture design and analysis,” IEEE, 2016. [6] E. R. Wilmer Ramirez Marco Sarmiento, “A flexible debugger for a risc-v based 32-bit system-on-chip,” IEEE, 2020. [7] P. M. Kamran Rahmani Sudhi Proch, “Efficient selection of trace and scan signals for post-silicon debug,” IEEE, 2015. [8] Z. N. Fatemeh Refan Bijan Alizadeh, “Bridging presilicon and postsilicon debugging by instruction- based trace signal selection in modern processors,” IEEE, 2017.