形式化验证PSL编码
PSL 编码:踏入形式验证项目实践的第一步!
涵盖形式验证方法学和PSL属性编码,包括属性建模、平台构建、辅助代码使用以及验证组件设计,使工程师能够有效应用形式化技术,从而提升验证效率和设计质量。
购买须知
我们的课程大纲会定期更新,以反映该领域的最新进展和最佳实践。对于单独购买且享有终身访问权限的课程或资源,学员可永久访问内容并免费获得更新。对于会员,有效订阅期间可访问所有“会员免费”的精选课程和资源(包括未来的更新)。这样既能确保终身购买的学员,也能让在订阅有效期内的会员,享受到最新、最相关的内容。
Created by EDA Academy
Chinese
Last updated Sep 2025
完成本课程后,你将能够:
在形式验证中应用属性检查
具备一定的形式属性验证知识
掌握PSL的基本语法和原理
理解PSL的应用问题,包括推荐的编码风格、避免问题的指导原则、断言组织方式
遵循编码指南,避免初学者常见的问题
编写辅助代码(HDL辅助代码)以支持属性编写
了解验证单元(Verification Units)的功能
通过本课程,你可以获得:
7.2 小时沉浸式高质量教学视频:由资深团队精心录制,7个核心模块32个教学视频,内容涵盖核心概念与实战演示,配合循序渐进的讲解与真实案例,让你在短时间内高效吸收知识、立刻上手应用。
48个测试题:配套练习帮助你巩固所学知识,检验学习成果,并在实战场景中提升解决问题的能力。
结业证书:顺利完成课程后可获得由 EDA Academy 颁发的官方结业证书,为你的简历与职业发展增添亮点。
可在手机和电脑上访问:课程可在手机、平板与电脑上随时观看,让你无论在办公室、家中或出行途中,都能轻松学习。
来自 EDA Academy 的持续支持:课程结束后,你依然可以获得我们团队的持续支持,帮助你巩固知识、解决实际问题。
进阶学习规划:为你提供后续学习路径与推荐资源,让你在掌握本课程内容的基础上持续提升技能,拓展职业发展空间。
内容大纲 (含免费预览视频)
定义属性检查
有属性检查的验证
属性检查的工作流程
属性检查的好处
属性检查指南
属性类型
断言
覆盖
假设
指定属性
可观察性和可控性
形式化属性检查框架
✓ 形式化属性验证
动态和形式化验证
形式化验证技术因素
✓ 形式化属性验证方法
形式化属性验证
形式化属性验证处理流程
形式化属性验证的输入和输出
✓ 形式化属性验证测试平台
创建形式化属性验证测试平台
形式化属性验证测试平台的基于时钟周期的模型
形式化属性验证测试平台的约束
形式化属性验证测试平台的端到端的检查
形式化属性验证测试平台的功能覆盖
形式化属性验证测试平台的形式化验证IP
哪里使用形式化属性验证
✓ PSL 术语及概述
Property Specification Language的术语 一
Property Specification Language的术语 二
Property Specification Language的概述
✓ PSL 层和风格
PSL的层级
PSL的风格
PSL的关键字
PSL层级和风格的例子
✓ PSL 简介
PSL语句的放置
注释和断言
验证单元
always和never属性
形式验证的连接
✓ PSL推荐子集
PSL推荐子集
✓ PSL语言基本语法布尔表达式
布尔表达式一
布尔表达式二
布尔表达式三
✓ PSL语言基本语法序列
序列一
序列二
序列三
序列四
✓ PSL语言基本语法属性
属性一
属性二
属性三
属性四
✓ PSL语言基本语法Liveness
Liveness属性一
Liveness属性二
✓ PSL语言基本语法Glue Logic
Glue Logic一
Glue Logic二
✓ PSL 指定断言
属性抽象
过约束断言
低约束断言
完全指定断言
✓ PSL 重叠断言
断言重叠
断言重叠的例子
避免重叠
✓ PSL 永不失败或完成以及never的限制
永远不会失败或完成的属性
never的限制
✓ PSL 蕴涵和 Verilog 宏解析
蕴涵的后续满足条件
蕴涵的前提使能条件
使用Verilog文本替换宏
Verilog有条件PSL解析
✓ PSL 受保护属性、命名限制和验证组件
受保护的属性
命名限制
验证组件
✓ 什么是辅助代码及辅助代码和PSL的比较
什么是辅助代码
辅助代码和SVA的比较
✓ PSL使用辅助HDL代码案例1
使用辅助HDL代码案例1一
使用辅助HDL代码案例1二
使用辅助HDL代码案例1三
使用辅助HDL代码案例1四
✓ PSL使用辅助HDL代码案例2
使用辅助HDL代码案例2一
使用辅助HDL代码案例2二
使用辅助HDL代码案例2三
✓ PSL使用辅助HDL代码案例3
使用辅助HDL代码案例3一
使用辅助HDL代码案例3二
使用辅助HDL代码案例3三
✓ PSL使用辅助HDL代码案例4
使用辅助HDL代码案例4一
使用辅助HDL代码案例4二
✓ PSL使用辅助HDL代码案例5
使用辅助HDL代码案例5一
使用辅助HDL代码案例5二
使用辅助HDL代码案例5三
✓ PSL使用辅助HDL代码案例6
使用辅助HDL代码案例6一
使用辅助HDL代码案例6二
使用辅助HDL代码案例6三
✓ PSL使用辅助HDL代码案例7
使用辅助HDL代码案例7一
使用辅助HDL代码案例7二
使用辅助HDL代码案例7三
✓ PSL 验证单元语法
什么是验证单元
语法定义
VHDL风格的语法示例
Verilog风格的语法示例
✓ PSL 验证单元 VUnit
继承
验证单元类型
VUnit绑定
默认的验证单元
✓ PSL 验证单元建模层
建模层
建模层示例
✓ PSL 验证单元继承及其优势
继承绑定和建模层
继承的应用
验证单元的优势
课程要求:
本课程假设学习者具备数字设计原理和硬件描述语言(HDL)的基础知识,熟悉PSL语言虽非必需但会有所帮助。拥有形式验证方面的经验更为有利,但并非必要条件。具备集成电路设计或验证相关背景者优先。要求具备基本编程能力和数字逻辑知识,并能够使用形式验证工具来执行PSL断言。
具备数字设计概念和硬件描述语言(HDL)的基本理解
建议熟悉PSL语言,但不是必需条件
拥有形式验证概念的相关知识有益,但不是必要前提
推荐具备集成电路设计、验证或相关领域的背景,以便更好地理解课程内容
理解数字逻辑与时序逻辑设计原理
本课程适合:
希望学习形式验证技术的硬件设计和验证工程师
有志于拓展知识面的集成电路设计专业学生
有意提升技能的半导体行业从业人员
对形式验证及其在芯片设计中应用感兴趣的个人
希望了解基于属性的验证方法并使用Property Specification Language (PSL)的工程师
有兴趣加深对形式验证方法理解的人员
希望在项目中应用形式验证技术的个人
有志于提升形式验证技术专长的工程师
希望使用形式验证工具对RTL设计进行验证的设计人员
对高效的属性编码和断言编写方法感兴趣的专业人士
课程介绍
随着形式验证技术的持续发展,无论是形式化工具的性能,还是相关方法学,这些年来都取得了显著提升。形式验证在行业内也逐渐受到广泛关注。在芯片验证领域最具影响力的技术大会DVCon上,与形式验证相关的主题演讲逐年增多。这些演讲展示了形式验证技术在实际项目中的应用情况,业内主要的芯片设计公司也分享了具体的应用案例。
在验证设计功能时,形式验证具备独特的可证真优势。这一特点已逐步得到设计和验证工程师的认可。越来越多的工程师将形式验证视为一项必须掌握的重要技能,开始主动学习如何将其应用于各自项目,并探索其在传统仿真方法之外所带来的额外价值。
在项目中有效部署形式验证的前提是具备编写高质量属性的能力。属性编码是将形式验证引入实际设计流程中的第一步。Property Specification Language (PSL)为表达设计意图、描述功能预期以及实现自动形式检查提供了一种标准且强大的手段。
本课程“形式化验证PSL编码”的目标是帮助工程师掌握PSL属性编写的关键技术和实践方法。通过学习这项技能,工程师能够为形式验证建立坚实基础,充分利用工具的自动化能力,从而提高验证的深度和设计的可靠性。本课程内容将引导学习者理解如何在形式验证环境下构建、完善并应用基于属性的验证策略。
学习目标
1、形式验证的核心是属性检查。首先要找出那些适合采用形式验证方法的设计模块,然后从这些模块的规格描述中抽取出各项功能特征。接下来使用属性语言将这些特征逐一转化为具体的属性。基于这些属性构建形式化测试平台,对 RTL 设计代码与属性进行比对,从而验证设计行为是否符合预期的功能规格。
2、随着形式化技术逐渐成熟,并接近业界对复杂性水平的实际需求,我们必须采用新的设计方法以满足更高的验证标准。首要的步骤是将原本模糊的自然语言规格,转化为数学上精确、可验证的形式模型。形式属性验证在这一方法论转型中扮演着关键角色。要想切实提升设计质量,就需要加深对设计空间的理解,提升设计意图的表达效率,并增强整体验证流程的效果。
3、PSL 是一种属性描述语言,属于 IEEE 1850 标准。它拥有悠久的开发与应用历史,是一种使用极少语法即可描述复杂行为的强大工具。PSL 能够表达结构复杂的属性,这些属性在形式验证中具有极高的价值,但在仿真环境中却较难进行评估。为此,PSL 语言参考手册中定义了一个简化的子集,该子集适用于仿真验证,并已被主流仿真工具广泛支持。
4、PSL 是从验证角度对设计行为进行描述的语言,侧重于定义设计应当执行的行为以及禁止执行的行为。在本课程中,我们将介绍多种实用的 PSL 编码技巧,包括推荐的编码风格、常见的错误模式及其规避方法。此外,还会讲解 PSL 在设计中嵌入的各种方式,并对不同方式的优劣进行详细比较,帮助学员全面理解属性集成的策略。
5、低效的 PSL 属性不仅在编写阶段耗费大量时间,而且在调试过程中也会带来极大的负担。因此,编写高效的属性代码至关重要。在属性中应尽量避免重复 RTL 代码。明确指定使能条件,并采用边沿触发的结构,有助于避免属性过度约束、约束不足或属性之间发生重叠。开放式的属性结构若未加以控制,可能导致断言无法终止或永远不会失败。深入理解设计规格是细化属性并确保其有效性的基础。对于初学者而言,推荐采用渐进式的断言编写方法,通过逐步完善的方式掌握语言要领。
6、在基于属性的验证流程中,工程实践的大部分工作往往不是在 PSL 本身,而是围绕 PSL 所编写的大量辅助 HDL 代码。辅助代码的存在可以显著简化属性编写,提高代码的可读性和理解性。更重要的是,当 PSL 无法直接描述某些复杂设计行为时,辅助代码能够进行必要的建模,从而帮助形式工具更高效地评估验证条件并缩短运行时间。由于 PSL 在表达能力上存在一定局限性,尤其在面对深层复杂或具有条件依赖的设计逻辑时,辅助代码便成为构建高效、可扩展验证体系的必要组成部分。
7、验证单元(VUnit)是形式验证工具中的重要结构化支持单元。深入了解其功能和正确的使用方式至关重要。通过查阅工具文档可以获得关于 VUnit 的详细支持信息和功能介绍。VUnit 提供了一定程度上独立于具体 PSL 或 HDL 编码风格的能力,使验证工程师能够采用结构化、模块化、可复用的验证策略。借助 VUnit,可以实现断言的层次化管理,并在设计的不同层级上系统地组织验证测试,从而提升整体验证环境的可维护性与可扩展性。
The document will be emailed to you. Please check your Spam folder if it doesn’t appear in your inbox.
We HATE spam. Your email address is 100% secure