EDA Academy Navigation

Resource:

Formal Verification of Properties in Hardware Design (English)

This book offers a comprehensive and practice-oriented introduction to formal verification technologies in digital design. With a strong focus on property specification, assertion-based modeling, and scalable application strategies, it guides readers through modern formal verification flows using real-world hardware examples. Covering both foundational theories and practical implementations, the book bridges the gap between conceptual understanding and engineering deployment, making it ideal for engineers, researchers, and advanced learners.

Purchase

Our course syllabus is regularly updated to reflect the latest advancements and best practices in the field. For individually purchased courses or resources with lifetime access, students can always access the content and receive updates for free. For members, all member-free courses and resources — including future updates — are accessible during the active subscription period. This ensures that both lifetime purchasers and active members can benefit from the most relevant and up-to-date content.

Created by EDA Academy

English

Last updated Apr 2025

Resource:  China IC Company Directory (English)


Resource: Formal Verification of Properties in Hardware Design (English)



USD $499.9

-70%Today

$149.9

One-time Purchase

& Lifetime Access


What you will get:

  • 242-Page In-Depth Learning PDF

    Covers key formal verification concepts in digital design, focusing on property specification, assertion-based modeling, and scalable application strategies, with real-world hardware examples. Bridges theory and practice for engineers, researchers, and advanced learners.

  • Certificate of completion

    Upon successful completion of the course, you will receive an official certificate issued by EDA Academy, adding value to your resume and career development.

  • Access on mobile and computer

    The course can be viewed anytime on mobile phones, tablets, and computers, allowing you to learn easily whether at the office, at home, or on the go.

  • Ongoing support from EDA Academy

    After the course ends, you will continue to receive ongoing support from our team to help you consolidate knowledge and solve practical problems.

  • Further learning plan

    Provides you with follow-up learning paths and recommended resources, enabling you to continue improving your skills and expanding your career development based on what you have learned.

Resource Catalogue

1 Introduction
  • 1.1 Motivation for Embracing Formal Verification
  • 1.2 Target Audience and Learning Approach
  • 1.3 Chapter Structure and Practical Themes
2 Introduction to Formal Verification

2.1 Design Flow and Verification Challenges

  • 2.1.1 Introduction to IC Design Complexity
  • 2.1.2 The Digital Design Process and Synthesis Flow
  • 2.1.3 The Role and Importance of Verification
  • 2.1.4 Misconceptions about Verification in Synthesis-Driven Design
  • 2.1.5 Verification Methods and the Rise of Formal Techniques


2.2 Formal Techniques in Hardware Verification

  • 2.2.1 Definition and Objectives
  • 2.2.2 Categories of Formal Verification
  • 2.2.3 Theorem Proving
  • 2.2.4 Model Checking and Language Containment
  • 2.2.5 Equivalence Checking
  • 2.2.6 Combined Approaches and Design Transformations


2.3 Fundamentals of Formal Analysis

  • 2.3.1 Concept of Formal Modeling
  • 2.3.2 Reachability and State Depth
  • 2.3.3 Proof Algorithm in Formal Verification
  • 2.3.4 Interpretation of Proof Results
  • 2.3.5 Factors Affecting Formal Proof Performance
  • 2.3.6 Internal Characteristics of Formal Engines


2.4 Practical Needs of Formal Verification

  • 2.4.1 Correctness and Separation from Synthesis Tools
  • 2.4.2 Automation and User Guidance
  • 2.4.3 Performance and Predictability
  • 2.4.4 Integration with Design Environment
  • 2.4.5 Support for Debug and Error Localization
  • 2.4.6 Application to RTL and Gate-Level Verification
  • 2.4.7 Opportunities for Optimization and Design-Specific Strategies
3 Formal Verification Strategies Using Assertions

3.1 Observing Failures and Coverage through Trace


3.2 Verification Result Confidence in Formal Analysis

  • 3.2.1 Deterministic Verification Outcomes
  • 3.2.2 Flexible Verification with Incomplete Methods
  • 3.2.3 Bounded Formal Verification


3.3 Managing Abstraction and Approximation in Formal Verification

  • 3.3.1 Understanding Approximation
  • 3.3.2 Overapproximation and Its Implications
  • 3.3.3 Underapproximation in Practice
  • 3.3.4 The Problem of Contradictory Assumptions
  • 3.3.5 Pruning and Model Simplification


3.4 Applying Formal Methods Throughout RTL Verification

  • 3.4.1 Exhaustive Verification
  • 3.4.2 Lightweight Verification
  • 3.4.3 Early RTL Verification


3.5 Defining and Validating Interface Assumptions

  • 3.5.1 The Role of Assumptions in Formal Verification
  • 3.5.2 Challenges in Proving Assumptions Formally
  • 3.5.3 Complementary Simulation-Based Validation


3.6 Formal Verification Efficiency

3.7 Hybrid Verification Approaches

4 Property Checking

4.1 Property Checking in Formal Verification

  • 4.1.1 Understanding the Concept
  • 4.1.2 Mathematical Completeness and Exhaustiveness
  • 4.1.3 No Dependence on Testbenches
  • 4.1.4 Formal Modeling and Property Evaluation
  • 4.1.5 Combining with Simulation for Comprehensive Coverage


4.2 Enhancing Design Assurance with Property Checking

  • 4.2.1 Flow of Property Checking
  • 4.2.2 Value of Property Checking
  • 4.2.3 Best Practices in Property Definition


4.3 Property-Based Verification Concepts

  • 4.3.1 Categories of Properties
  • 4.3.2 Assertions for Design Checking
  • 4.3.3 Coverage Properties for Reachability
  • 4.3.4 Environmental Assumptions


4.4 Property Specification and Formal Verification

  • 4.4.1 Structure of Property Descriptions
  • 4.4.2 Observability and Controllability
  • 4.4.3 Flow of Formal Verification
5 Formal Property Verification

5.1 Understanding Formal Property Checking

  • 5.1.1 Exploring Exhaustive Design Verification through Formal Methods
  • 5.1.2 Defining the Role of Formal Properties
  • 5.1.3 Exhaustive Verification with FPV
  • 5.1.4 The Formal Checking Mechanism


5.2 Comprehensive Strategies in Formal and Dynamic Verification

  • 5.2.1 Exploring Dynamic and Formal Approaches
  • 5.2.2 Critical Considerations for Formal Efficiency
  • 5.2.3 Applying Property-Based Verification


5.3 Formal Property Verification Flow and Applications

  • 5.3.1 FPV Workflow
  • 5.3.2 Key Inputs and Expected Outputs
  • 5.3.3 Best Use Cases and Application Limits


5.4 Constructing a Formal Verification Environment

  • 5.4.1 Cycle-Based Models
  • 5.4.2 Input Constraints
  • 5.4.3 End-to-End Assertions
  • 5.4.4 Functional Coverage Properties
  • 5.4.5 Formal Verification IP (VIP)
6 Coverage Driven Formal Property Verification

6.1 Exploring Dynamic Coverage Strategies


6.2 Enhanced Formal Coverage via Mutation Analysis

  • 6.2.1 Mutation Coverage Principles
  • 6.2.2 Interpreting Mutations
  • 6.2.3 Types of Mutation-Based Coverage
  • 6.2.4 FSM-Level Coverage Strategies
  • 6.2.5 Source-Level Mutation Coverage


6.3 Exploring the Gap Between Structural and Behavioral Goals

  • 6.3.1 Functional vs Structural Coverage
  • 6.3.2 Focus of Existing Metrics
  • 6.3.3 Limitations of Structural Metrics
  • 6.3.4 Case Study: Gray Code Counter
  • 6.3.5 The Need for Stronger Properties


6.4 Fault-based Specification Completeness Assessment

  • 6.4.1 Limitations of Traditional Mutation Coverage
  • 6.4.2 Specification Verification Without Implementation
  • 6.4.3 Introducing a Fault-Driven Methodology
  • 6.4.4 Coverage Defined by Fault Sensitivity
  • 6.4.5 Clarifying Misuse of Structural Coverage
7 Formal Verification Techniques for Arbiter Designs

7.1 Arbitration Logic and Fairness

  • 7.1.1 Types of Arbitration Mechanisms
  • 7.1.2 Ensuring Liveness in Arbitration
  • 7.1.3 Expressing and Validating Fairness Properties


7.2 Ensuring Grant Fairness

  • 7.2.1 Simple Arbitration with Fairness Constraints
  • 7.2.2 Assertion for Fair Arbitration
  • 7.2.3 Fairness for Other Clients
  • 7.2.4 Scaling Fair Arbitration


7.3 Arbiter-Specific Properties

  • 7.3.1 Exclusive Grant Control
  • 7.3.2 Latency Enforcement
  • 7.3.3 Valid Grant Preconditions


7.4 Priority-Based Grant Control

  • 7.4.1 Two-Client Priority Rule
  • 7.4.2 Assertion Violation Example
  • 7.4.3 Scaling to Multiple Clients
  • 7.4.4 Automation of Priority Assertions


7.5 Dynamic Weighted Arbitration

  • 7.5.1 Credit Mechanism and Arbitration Logic
  • 7.5.2 Enforcing Credit Conditions Through Assertions
  • 7.5.3 Preventing Starvation with Credit Fairness


7.6 Adaptive Client Prioritization

  • 7.6.1 Event-Driven Priority Switching
  • 7.6.2 Assertion-Based Enforcement
  • 7.6.3 Structured Behavior Partitioning


7.7 Handling Overlapping Requests

  • 7.7.1 Challenges with Traditional Assertions
  • 7.7.2 Using Tags for Accurate Matching
  • 7.7.3 Latency Awareness in Assertion Design
  • 7.7.4 Implications for High-Performance Design


7.8 Designing a Reusable Assertion-Based Verification Block for an Arbiter

  • 7.8.1 Interface Structure and Signal Roles
  • 7.8.2 Behavioral Requirements in Natural Language
  • 7.8.3 Creating the Assertion Interface
  • 7.8.4 Adding Analysis Capabilities
  • 7.8.5 Integrating and Reusing Assertion Logic
8 Modeling and Verifying Controllers with Formal Properties

8.1 Designing and Verifying a Basic Memory Controller

  • 8.1.1 Simplified Memory Interface Logic


8.2 Overview of Interface and Signal Definitions


8.3 Functional Overview of SDRAM Controller Transactions

  • 8.3.1 Supported Memory Transactions
  • 8.3.2 State Control and Transitions
  • 8.3.3 SDRAM Transaction Flows


8.4 Property Description in Natural Language


8.5 Assertion Integration in SDRAM Control

  • 8.5.1 Signal Interface and Modport Connection
  • 8.5.2 Communication with Analysis Environment
  • 8.5.3 Error Status Propagation and Reporting
  • 8.5.4 Signal Modeling for Assertion Readability
  • 8.5.5 Naming Convention Consistency
  • 8.5.6 Assertion Design for Controller Behavior


8.6 Encapsulate Assertions for Verification Use

9 Applying Formal Methods to Interface Verification

9.1 Designing Assertions for Serial Communication


9.2 Serial Interface Structure


9.3 Initiating and Executing Transactions

  • 9.3.1 Master and Slave Roles
  • 9.3.2 Addressing and Command Initiation
  • 9.3.3 Acknowledgment and Data Exchange
  • 9.3.4 Simplified Protocol Model


9.4 Defining Interface Behaviors


9.5 Assertion Integration with Bus Monitor

  • 9.5.1 Structured Bus Communication Interface
  • 9.5.2 Reporting Mechanism Through Analysis Port
  • 9.5.3 Making Assertions Reusable
  • 9.5.4 Serial Bus Reset Behavior
  • 9.5.5 Detecting Start Signal Errors
  • 9.5.6 Ensuring Order of Bus Events
  • 9.5.7 Validating Transfer Sizes


9.6 Wrapping Assertions into Verification Components

  • 9.6.1 Enabling Communication via Analysis Ports
  • 9.6.2 Reusable and Scalable Integration
10 Designing and Verifying Datapath with Formal Properties

10.1 Efficient Queue Verification

  • 10.1.1 Introduction to Queue Design and Usage
  • 10.1.2 Queue Characteristics and Interface Simplicity
  • 10.1.3 Assertion-Based Verification Approach


10.2 Simplified Queue Interface Overview


10.3 Queue Operations and Signal Behavior

  • 10.3.1 Basic Enqueue and Dequeue Process
  • 10.3.2 Clearing a Middle Entry


10.4 Behavioral Expectations in Natural Language


10.5 Assertion Integration in Monitor Design

  • 10.5.1 Defining the Signal Interface
  • 10.5.2 Connecting to Analysis Components
  • 10.5.3 Defining Error Reporting Mechanisms
  • 10.5.4 Assertion-Based Verification of Queue Behavior


10.6 Assertion Integration for Monitor Design

Description

Bridging Formal Theory with Engineering Practice

Formal verification has become an essential part of modern digital hardware design, offering mathematical rigor to ensure correctness, completeness, and robustness. This book presents a detailed yet accessible framework for applying formal methods across various levels of abstraction, from RTL control logic to interface protocols and datapath operations. It emphasizes real implementation challenges while reinforcing theoretical foundations such as model checking, abstraction refinement, and property decomposition.

Comprehensive Flow from Property Specification to Coverage Closure

Starting with the motivations behind adopting formal methods, the book introduces a unified flow encompassing property planning, formal environment modeling, bounded proof strategies, and result analysis. Readers will learn how to create meaningful, scalable assertions using languages like SVA and PSL, and how to integrate these assertions into end-to-end verification frameworks. By focusing on formal testbench construction, cycle-accurate modeling, and reusable constraint management, the book prepares readers to build industrial-grade verification setups.

Practical Application to Real-World Designs

Through multiple chapters focused on design modules such as arbiters, FIFOs, queues, and SDRAM controllers, this book demonstrates how to apply formal tools in complex verification scenarios. Readers will learn how to model functional constraints, define completeness metrics, and structure formal checkers around both control and data-centric operations. Case-driven narratives ensure that each concept is tied to verifiable results, helping readers translate abstract formal concepts into concrete engineering practices.

Advanced Topics: Coverage, Mutation, and Completeness

To address the limitations of traditional simulation and assertion coverage, the book introduces mutation-based coverage analysis and fault injection techniques. These methods offer a deeper understanding of specification strength and testbench soundness. The discussion also includes hybrid formal flows that combine dynamic and formal techniques, enabling broader coverage and early bug detection in large-scale systems.

Target Audience and Learning Outcomes

This book is tailored for verification engineers, digital designers, formal tool developers, and graduate-level students in electronic design automation (EDA). It provides a structured and reusable approach to adopting formal methods in both new projects and legacy codebases. By the end of the book, readers will have developed the skills to write robust properties, construct efficient formal environments, and evaluate coverage metrics with confidence and precision.

70% discount

USD $499.9

$149.9