Property Specification Language (PSL) – Formal

Harnessing the Power of Formal Verification with PSL for Reliable and Efficient Design Validation!

This course introduces you to the core syntax and practical applications of Property Specification Language (PSL) for formal verification. Understand how to write efficient assertions using Boolean expressions and Sequential Extended Regular Expressions (SERE). Learn best practices for integrating PSL with auxiliary HDL code and constructing formal property verification (FPV) testbenches. Join now to start building your formal verification skills.

Purchase

Our course syllabus undergoes regular updates to reflect the latest advancements and best practices in the field. Students who purchase lifetime access to this course are entitled to receive these updates for free, ensuring they stay abreast of the most current content. Subscribers, on the other hand, can access the latest content for free as long as they maintain their subscription to the course. This approach guarantees that our students and subscribers always have access to the most relevant and up-to-date information in the field.

Created by EDA Academy

English

Last updated Aug 2024

Property Specification Language (PSL) – Formal

USD $449.9

-55% Today

$199.9

OR

One-time Purchase

& Lifetime Access

$59.9

Monthly Subscription

& Cancel Anytime

After this course you will be able to:

  • Acquire PSL basic syntax and principles
  • Explain and demonstrate simple assertions based on boolean expressions
  • Describe the features of the PSL Foundation Language and show assertions using this
  • Explain sequences and show sequence-based assertions
  • Follow coding guidelines to avoid common problems for beginners
  • Create Auxiliary Code (HDL helper code) to assist when writing properties
  • Apply Property Checking in Formal Verification

This course includes:

  • 8 Modules 34 Lectures
  • 6.4 hours on-demand video
  • 50 Quiz
  • Certificate of completion
  • Access on mobile and computer
  • Ongoing support from EDA Academy
  • Further learning plan

Course Content (Preview)

Module 0: About this Course (Preview)
✓ Property Specification Language(PSL) - Formal (Preview)
✓ About this Course (Preview)
✓ Course Objectives (Preview)
✓ Course Agenda (Preview)
Module 1: Introduction to Property Specification Language (PSL)
  • PSL Terminology and Overview
  • PSL Layers and Flavors
  • PSL Introduction
Module 2: Boolean Expressions
  • Creating boolean and Labels
  • Using report Boolean expression and VHDL Verilog flavor property
  • Clocked property and Conditional assrtion
Module 3: PSL Foundation Language Basics
  • Next cycle NextN repetion Eventually and Assertion overlapping
  • until and before operator
  • Abort Bounding and Termination operator
  • Foundation language Cascading next and Sequence
Module 4: Sequential Extended Regular Expressions
  • SERE Introduction
  • Consecutive SERE and Repetition
  • Non-Consecutive and Goto repetition
  • Abort SERE Named Sequence and Condition
Module 5: Coding Guidelines
  • PSL Specifying Assertions
  • PSL Overlapping Assertions
  • PSL Never Failing Completing and Restrictions on never
  • PSL Implication and Verilog Macros Parsing
  • PSL Guarded Properties and Naming Restrictions and Verification Components
Module 6: Use of Auxiliary HDL Code
  • PSL What is Auxiliary Code and Auxiliary Code vs PSL
  • PSL Auxiliary Code Example1
  • PSL Auxiliary Code Example2
  • PSL Auxiliary Code Example3
  • PSL Auxiliary Code Example4
  • PSL Auxiliary Code Example5
  • PSL Auxiliary Code Example6
  • PSL Auxiliary Code Example7
Module 7: Formal Property Verification (FPV)
  • Formal Property Verification
  • FPV Method
  • FPV Testbench

Requirements

This course is designed for engineers, verification professionals, and students who have a basic understanding of digital design and want to dive into formal verification using Property Specification Language (PSL). While no prior experience with PSL is required, familiarity with hardware description languages (HDL) like Verilog or VHDL will be beneficial. To get the most out of this course, it’s recommended that you meet the following prerequisites:

  • Have a foundational understanding of digital design and verification concepts.
  • Familiarity with hardware description languages such as Verilog or VHDL is recommended.
  • Recommended background in IC design, verification, or related fields for better comprehension of the material.
  • Understanding of digital logic and sequential logic design principles.
  • Basic knowledge of assertion-based verification (ABV) is beneficial.
  • Familiarity with state machines and sequential logic.
  • Prior exposure to formal verification concepts is a plus.

Who this course is for

  • Verification engineers seeking to enhance formal verification skills.
  • Engineers transitioning from simulation to formal verification.
  • ASIC/FPGA designers focusing on improving verification efficiency.
  • Individuals aiming to learn advanced PSL coding techniques.
  • Verification specialists interested in formal property verification.
  • Students studying digital design and verification methodologies.
  • HDL developers needing to implement PSL in complex designs.
  • Formal verification engineers looking for practical PSL guidance.
  • Engineers interested in using auxiliary HDL code with PSL.
  • Design and verification leads seeking a deeper understanding of FPV.

Description

Formal verification is a property-based verification method. The formal testbench it constructs mainly includes cycle-based models, constraints, end-to-end checkers, functional coverage, and formal verification IP. Writing these components relies heavily on assertion languages. Assertion is a design behavior description language with a foundational syntax structure that requires systematic learning. For formal verification, systematically learning and mastering an assertion language is one of the basic skills needed to enter the field.


Assertions have been a verification method for many years. However, due to limitations in tool performance and methodology, they were mainly used as an auxiliary verification method and were not widely adopted. With the rapid development of formal verification technology, assertion-based verification (ABV) has become popular recently. Initially, assertions were used sparingly in testbench as an auxiliary verification method. Now, they can be used independently with a complete methodology to build a property-based testbench for sign-off.


This course focuses on the basic syntax rules of the Property Specification Language (PSL) and how to write concise and efficient assertions. PSL has a rich syntax structure and many advanced usage methods. However, for formal verification, the requirements for assertion syntax are not high. There is no need to master complex syntax structures or advanced usage methods because they are not used in formal verification. Formal verification emphasizes using auxiliary code with assertions to construct intermediate signals for complex design behaviors, while assertions handle simple property behaviors involving these intermediate signals. This course guides how to apply assertions in actual projects and serves as a starting point for formal verification project practice.

Learning Objectives

PSL is a language which is IEEE standard 1850, and it has a strong history of development. It is a powerful property specification language that can describe complex behaviors in very few characters. PSL has the power to define complex properties which, although useful for formal verification, cannot be easily evaluated in simulation. The PSL Language Reference Manual defines a simple subset for the language which is easily simulated.


Boolean expressions are the foundation of the PSL language. They are the first level of the PSL structure, and all design behavior descriptions start with them. This course explains and demonstrates simple assertions based on Boolean expressions.


The Foundation Language (FL) refers to all PSL except the Optional Branching Extension (OBE). It can easily express simple properties like conditions that occur in the same cycle, the next cycle, some following cycles, and eventual conditions. The FL structure has powerful operators for expressing simple relationships between Boolean conditions. It can also be used with SERE to get more complex properties.


SERE stands for Sequential Extended Regular Expression. Properties with temporal usually use SERE for description. SERE allows easy expression of complex, multi-cycle, sequence-based properties. This is simpler and more readable than using other FL structures. Operators allow simple descriptions of repeating sequences and provide options like consecutive repetition, non-consecutive repetition, and goto repetition. A general sequence can be written once, named, and used in other SEREs. Complex sequences can be managed by breaking them down into individual named sequences.


For those low-efficiency PSL, it takes a lot of time to create and debug them. Therefore, it is crucial to write effective PSL properties. Do not duplicate RTL code. Fully specifying enabling sequences and using edge-triggered conditions can help avoid properties which are over-constrained, under-constrained and over-lapping. Be careful of "open-ended" PSL constructs which can cause assertions to never fail/complete. Understanding the design specification is vital in refining assertions to be effective. An incremental approach to assertion writing works well as you learn the language.


In a property-based verification environment, a lot of auxiliary HDL code is often required while the proportion of PSL is often small. By creating auxiliary code, the writing of properties is easier and more readable and easier to understand. The use of auxiliary code also makes it easier for tools to evaluate verification issues and reduce tool run time. PSL language has some limitations. When facing complex designs, the PSL language cannot describe them at all. It is necessary to use auxiliary code to help model and construct these design behaviors.


As formal techniques research matures and approaches a level of sophistication required by industry, we must take steps to ensure a successful transfer to this more demanding level. One step is to fundamentally change design methodologies such that we move from ambiguous natural language forms of specification to forms that are mathematically precise and verifiable. Formal property verification is the key ingredient in this methodological change. The end result is improved design quality through improved understanding of the design space, improved communication of design intentions, and improved verification quality.


55% discount

USD $449.9

$199.9