Property Specification Language (PSL) – Fundamentals

Exploring the Fundamentals and Advantages of Property Specification Language(PSL) in Modern Verification Practices!

This course, Property Specification Language (PSL) – Fundamentals, introduces the essential concepts and syntax of PSL, a powerful IEEE 1850 standard for assertion-based verification. You will explore Boolean expressions, sequential extended regular expressions (SERE), and advanced sequence composition operators. Through practical examples, the course equips you with the foundational skills needed to effectively apply PSL in real-world verification environments.

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) – Fundamentals

USD $199.9

-50% Today

$99.9

OR

One-time Purchase

& Lifetime Access

$29.9

Monthly Subscription

& Cancel Anytime

After this course you will be able to:

  • Leverage assertions and translate design specifications into assertions
  • 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
  • Use advanced sequence composition operators and features to make sequence and property definition easier
  • Describe the application of PSL to sequence-based coverage

This course includes:

  • 8 Modules 27 Lectures
  • 5.7 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) - Fundamentals (Preview)
✓ About this Course (Preview)
✓ Course Objectives (Preview)
✓ Course Agenda (Preview)
Module 1: Assertions (Preview)
✓ The Basic Concept of Assertions (Preview)
✓ Some Questions about Assertions
  • What are Assertions used for?
  • What aren’t Assertions used for?
  • Why to Use Assertions?
  • Who to Write Assertions?
  • Where to Use Assertions?
✓ Issues with Assertions
  • Issues with Assertions I
  • Issues with Assertions II
Module 2: Introduction to Property Specification Language (PSL)
  • PSL Terminology and Overview
  • PSL Layers and Flavors
  • PSL Introduction
Module 3: Boolean Expressions
  • Creating boolean and Labels
  • Using report Boolean expression and VHDL Verilog flavor property
  • Clocked property and Conditional assrtion
Module 4: 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 5: Sequential Extended Regular Expressions
  • SERE Introduction
  • Consecutive SERE and Repetition
  • Non-Consecutive and Goto repetition
  • Abort SERE Named Sequence and Condition
Module 6: Sequence Composition Operators
  • Sequence composition operator
  • Fusion Or Non-Length matching and Length matching And composition
  • Sequence composition example and SERE vs Foundation language
Module 7: Coverage in Verification
  • Test data effectiveness Coverage metrics and Functional coverage
  • Cover-directive Named cover Reducing test and Coverage approach
  • Debug asserton Detect enabling condition and Parameterized in coverage
Quiz

Requirements

This course is designed for engineers, students, and professionals who aim to master Property Specification Language (PSL) and elevate their verification capabilities. To succeed in this course, you should have a solid understanding of digital design and hardware description languages like VHDL or Verilog. Familiarity with basic verification concepts is also essential, as this course will build on those foundations to teach you assertion-based verification using Property Specification Language (PSL). 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 verification techniques, such as simulation, testbench creation, and debugging, is crucial.
  • Familiarity with concepts like code coverage and functional coverage will enhance your ability to effectively utilize assertions in your verification flow.
  • To practice writing and testing assertions, you’ll need access to a simulator that supports PSL. This will allow you to apply the concepts taught in the course through hands-on exercises.

Who this course is for

  • Hardware design engineers seeking to improve verification efficiency.
  • Verification engineers interested in learning assertion-based verification.
  • Developers working on FPGA or ASIC verification projects.
  • Engineers aiming to debug complex hardware designs more effectively.
  • Professionals transitioning from traditional to assertion-based verification.
  • Verification managers seeking better test coverage techniques.
  • Engineers responsible for writing and maintaining design specifications.
  • VLSI engineers aiming to optimize simulation and formal verification processes.
  • System architects aiming to translate specifications into assertions.
  • Design engineers needing to detect hard-to-find corner cases.

Description

Assertions are embedded pieces of code that act like observers. They can be inserted anywhere in the design code. When used in a verification environment, assertions help to identify design bugs earlier and more easily. This method is a highly efficient way to improve work productivity. Through assertions, we can capture specific design behaviors and gain detailed knowledge of how the design should operate. Assertions are crucial for increasing the observability and controllability of a design. Assertions are a language for describing design behavior. Their syntax is fundamental, requiring systematic learning to use assertion-based verification techniques effectively.


Assertion-based verification provides an effective way to improve verification quality by offering better controllability and observability of design bugs. Using assertions ensures that interface designs are executed correctly. They help discover deep design bugs, identify hard-to-find corner cases. We can also analyze and improve test cases in simulation through coverage environments with assertions.


Our course mainly focuses on the basic syntax of Property Specification Language (PSL). PSL is a language under the IEEE 1850 standard. It has a long history of development and use and is a powerful property description language. This course introduces the basic terms in PSL and its four-layer structure: modeling, verification, temporal, and Boolean layers. It covers the VHDL and Verilog PSL flavors and the keywords in PSL. We discuss important parts of PSL, such as Boolean expressions, SERE, SERE Composition, and coverage. By analyzing specific cases, we consider what to pay attention to when writing PSL properties and summarize some methods for writing effective property code. This course guides us on how to apply assertion-based verification techniques in real projects and serves as a basic skill to master when starting project practice.


Learning Objectives

Leverage assertions and translate design specifications into assertions. Assertions are written by various people at various times during the development of a product, from conception through design and implementation, and during verification. Assertions can be written at different levels of abstraction, in various hardware design language contexts. Assertions take some effort to write. At the same time, they can make design verification much more efficient, can simplify debugging, and can significantly improve overall productivity.


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 SERE. Complex sequences can be managed by breaking them down into individual named sequences.


Sequences include a wide range of powerful operators and functions that allow the construction of complex sequences. PSL has many complex operators to build sequences, and using advanced sequence combination operators and features makes defining sequences and properties easier.


Besides verifying functional correctness, it is essential to check the completeness of the verification process. Monitoring and managing verification progress, and evaluating the quality of verification through completeness results, is crucial. Coverage can be introduced to analyze the effectiveness of test cases and observe the efficiency of test vectors.


50% discount

USD $199.9

$99.9