Introduction
Introduction
Introduction
Contents
❑ Introduction
❑ Digital IC Verification
❑ Verification Approaches
❑ Verification Levels
❑ Verification Metrics
❑ Main Verification Methods
❑ Verification Steps
❑ How Does Testing Work?
❑ Verification Testbench
❑ SystemVerilog
•
2
Introduction
System on Chip (SoC)
3
Introduction
4
Digital IC Verification
❑ The main SoC design issue shifts to the verification method. Semiconductor Engineering. n.d. Beyond The Water Cooler: 2020 Report On IC/ASIC Design And Verification
Trends. [online] Available at: <https://semiengineering.com/beyond-the-water-cooler-2020-report-on-ic-asic-
design-and-verification-trends/>.
5
Digital IC Verification
❑ Specification Capture
➢ SoC design requirements span across multiple documents.
➢ Reconciling the descriptions from the different documents is a highly complex activity.
6
Digital IC Verification
What is to be verified?
Functional Performance
Verification Verification
Timing
Verification
7
Digital IC Verification
Verification Goal
successfully.
8
Verification Approaches
Requires an intimate
knowledge of the design
White Box implementation
Verification
Considered a compromise
Grey Box between the two approaches
Verification
9
Verification Levels
10
Verification Metrics
towards completion and quality of verification. How many tests are being
conducted
11
Main Verification Methods
❑Simulation-based Verification
Vivolo, L.. Transaction-based Verification And Emulation Combine For Multi-megahertz Verification Performance. [online]
Electronicdesign.com. Available at: <https://www.electronicdesign.com/technologies/eda/article/21796417/transactionbased-
verification-and-emulation-combine-for-multimegahertz-verification-performance>.
12
Main Verification Methods
Pass Pass
Pre-synth. Post-synth. Place and
RTL Synthesis Simulation
Simulation Route
Fail Fail
13
Main Verification Methods
❑Emulation-based Verification
Vivolo, L., 2021. Transaction-based Verification And Emulation Combine For Multi-megahertz Verification Performance. [online] Electronicdesign.com. Available
at: https://www.electronicdesign.com/technologies/eda/article/21796417/transactionbased-verification-and-emulation-combine-for-multimegahertz-verification-
performance.
14
Verification Steps
2 ▪
▪
The Testbench Architecture
The testing scenarios
15
Verification Steps
16
How Does Testing Work?
➢Directed Testing
▪ Directing tests to a specific feature or all features in a design.
▪ Advantage: it doesn’t require extensive coverage coding and works well when the condition space is
finite.
▪ Disadvantages:
17
How Does Testing Work?
18
How Does Testing Work?
▪ Advantages:
• It allows us to reach 100% testing in a shorter time.
• Using random stimuli allows us to find unexpected bugs.
• Random testing uses scenarios that the design never
thought of.
19
Verification Testbench
➢Testbench Responsibility
▪ Generating input stimulus
20
Verification Testbench
Direct Testbench
➢ Using Test vectors as input to DUT.
➢ Comparing DUT Output with the expected one.
➢ Not Scalable
▪ Hard to add new test cases.
▪ Hard to add new features.
➢ Not reusable.
➢ Hard for maintenance.
21
Verification Testbench
22
Verification Testbench
Efficient Verification Testbench
➢ Agent
▪ Component that holds the generator, driver, and monitor
Top
▪ Deals with a specific DUT interface.
▪ More than one Agent for more than one interface.
➢ Scoreboard
▪ Comparing the received transaction packet from the monitor
with that of the reference model.
▪ The reference module is written based on understanding the
design specification and design behavior to mimic design
functionality.
➢ Environment
▪ Allows a well-mannered hierarchy and container for agents
and scoreboards.
▪ Testbench may have more than one environment.
23
Verification Testbench
Efficient Verification Testbench
➢ Test
▪ The test is at the top of the hierarchy, initiating the Top
construction of the environment components and the
connection between them.
▪ Responsible for the testbench configuration and stimulus
generation process.
➢ Testbench top
▪ The top-level component that includes interface and DUT
instances.
▪ The design is connected to the testbench in the Top model.
24
Verification Testbench
➢ Reusable.
Top
➢ Scalable.
➢ Easier to maintain.
25
SystemVerilog
➢ It combines the capabilities of both design and verification into one language;
26
SystemVerilog
In Design
➢ SystemVerilog is an extension of Verilog.
➢ Includes operators reused from C/C++ that can simplify the code while making it easier to understand,
e.g., ++ and break.
27
SystemVerilog
In Verification
➢ It has several programming improvements inherited from C language like data types and C
statements, including classes for OOP.
➢ It has a direct programming interface (DPI), a lightweight interface that allows you to call system
Verilog functions from C, and C functions from System Verilog.
➢ It has improved verification due to constrained random testing and verification using classes.
▪ Automatically check the results of the simulation, which is enabled through assertions.
▪ “Are we done?” through functional coverage, a metric that tells us how much verification we
have performed.
▪ We have to somehow direct the stimulus; this is done through a set of constraints to target
corners and interesting cases.
28
Resources
• Mark Zwolinski, Digital System Design with SystemVerilog, Prentice Hall.
• N. K. Jha, S. Gupta, Testing of Digital Systems, Cambridge University Press
• Lun Li , Mitchell A. Thornton, Digital System Verification, A Combined Formal Methods and Simulation
Framework, Springer.
• https://www.scribd.com/document/402666798/Springer-SV-Solutions-Manual
• https://verificationacademy.com/topics/systemverilog/
• https://www.youtube.com/watch?v=imH4CFmVGWE&list=PLBIILfL2t1lnvzw7vF0arlvu36Wj4--D7
29