形式化验证SVA编码
SVA 编码:踏入形式验证项目实践的第一步!
系统讲解形式验证方法与SVA属性编码,覆盖属性建模、验证平台构建、辅助代码使用及验证组件开发,帮助工程师掌握形式验证在芯片设计中的实用技术,提升验证效率与设计质量。
购买须知
我们的课程大纲会定期更新,以反映该领域的最新进展和最佳实践。对于单独购买且享有终身访问权限的课程或资源,学员可永久访问内容并免费获得更新。对于会员,有效订阅期间可访问所有“会员免费”的精选课程和资源(包括未来的更新)。这样既能确保终身购买的学员,也能让在订阅有效期内的会员,享受到最新、最相关的内容。
Created by EDA Academy
Chinese
Last updated Sep 2025
完成本课程后,你将能够:
在形式验证中应用属性检查
具备一定的形式属性验证知识
掌握SVA的基本语法和原理
理解SVA的应用问题,包括推荐的编码风格、避免问题的指导原则、断言组织方式
遵循编码指南,避免初学者常见的问题
编写辅助代码(HDL辅助代码)以支持属性编写
提高属性的复用性,减少验证时间
通过本课程,你可以获得:
6.4 小时沉浸式高质量教学视频:由资深团队精心录制,7个核心模块30个教学视频,内容涵盖核心概念与实战演示,配合循序渐进的讲解与真实案例,让你在短时间内高效吸收知识、立刻上手应用。
43个测试题:配套练习帮助你巩固所学知识,检验学习成果,并在实战场景中提升解决问题的能力。
结业证书:顺利完成课程后可获得由 EDA Academy 颁发的官方结业证书,为你的简历与职业发展增添亮点。
可在手机和电脑上访问:课程可在手机、平板与电脑上随时观看,让你无论在办公室、家中或出行途中,都能轻松学习。
来自 EDA Academy 的持续支持:课程结束后,你依然可以获得我们团队的持续支持,帮助你巩固知识、解决实际问题。
进阶学习规划:为你提供后续学习路径与推荐资源,让你在掌握本课程内容的基础上持续提升技能,拓展职业发展空间。
内容大纲 (含免费预览视频)
定义属性检查
有属性检查的验证
属性检查的工作流程
属性检查的好处
属性检查指南
属性类型
断言
覆盖
假设
指定属性
可观察性和可控性
形式化属性检查框架
✓ 形式化属性验证
动态和形式化验证
形式化验证技术因素
✓ 形式化属性验证方法
形式化属性验证
形式化属性验证处理流程
形式化属性验证的输入和输出
✓ 形式化属性验证测试平台
创建形式化属性验证测试平台
形式化属性验证测试平台的基于时钟周期的模型
形式化属性验证测试平台的约束
形式化属性验证测试平台的端到端的检查
形式化属性验证测试平台的功能覆盖
形式化属性验证测试平台的形式化验证IP
哪里使用形式化属性验证
✓ SVA的术语、指令及概述
SVA的术语一
SVA的术语二
SVA的验证指令
为什么使用SVA
SVA的概述
✓ SVA立即和并发断言
立即断言
立即断言的局限性
并发断言
✓ SVA的构建、创建及结构
SVA的构建模块
创建SVA检查器的步骤
SVA断言结构
✓ SVA属性放置
SVA属性放置
✓ SVA推荐子集
SVA推荐子集
✓ SVA语言基本语法布尔表达式
布尔表达式一
布尔表达式二
布尔表达式三
✓ SVA语言基本语法序列
序列一
序列二
序列三
序列四
✓ SVA语言基本语法属性
属性一
属性二
属性三
属性四
✓ SVA语言基本语法Liveness
Liveness属性一
Liveness属性二
✓ SVA语言基本语法Glue Logic
Glue Logic一
Glue Logic二
✓ 低效和高效的SVA
低效SVA意味着什么
在模拟验证中低效SVA示例
是否可以在模拟验证和形式验证中使用相同的属性
在形式验证中低效SVA的症状
高效SVA注意事项
✓ 简化属性案例
简化属性案例一
简化属性案例二
简化属性案例三
简化属性案例四
✓ SVA 编码指南
用母语描述设计行为
保持断言简单
推荐的不适合形式验证的SVA语法
✓ 推荐的SVA编码风格和属性建模
推荐的SVA编码风格一
推荐的SVA编码风格二
推荐的SVA属性建模方法一
推荐的SVA属性建模方法二
✓ 什么是辅助代码及辅助代码和SVA的比较
什么是辅助代码
辅助代码和SVA的比较
✓ SVA使用辅助HDL代码案例1
使用辅助HDL代码案例1一
使用辅助HDL代码案例1二
使用辅助HDL代码案例1三
使用辅助HDL代码案例1四
✓ SVA使用辅助HDL代码案例2
使用辅助HDL代码案例2一
使用辅助HDL代码案例2二
使用辅助HDL代码案例2三
✓ SVA使用辅助HDL代码案例3
使用辅助HDL代码案例3一
使用辅助HDL代码案例3二
使用辅助HDL代码案例3三
✓ SVA使用辅助HDL代码案例4
使用辅助HDL代码案例4一
使用辅助HDL代码案例4二
✓ SVA使用辅助HDL代码案例5
使用辅助HDL代码案例5一
使用辅助HDL代码案例5二
使用辅助HDL代码案例5三
✓ SVA使用辅助HDL代码案例6
使用辅助HDL代码案例6一
使用辅助HDL代码案例6二
使用辅助HDL代码案例6三
✓ SVA使用辅助HDL代码案例7
使用辅助HDL代码案例7一
使用辅助HDL代码案例7二
使用辅助HDL代码案例7三
✓ 验证组件的定义、示例、特征
验证组件的定义
验证组件示例
验证组件特征
✓ 验证组件放置技术
断言放置技术
不同放置技术的比较
验证组件的解剖
接口类型的验证组件示例
✓ 验证组件设计技术
验证组件设计技术
验证组件参数化
覆盖率点
覆盖率点的优势
使用形式验证IP
课程要求:
本课程假设学习者具备数字设计原理和硬件描述语言(HDL)的基础知识,熟悉SVA语言虽非必需但会有所帮助。拥有形式验证方面的经验更为有利,但并非必要条件。具备集成电路设计或验证相关背景者优先。要求具备基本编程能力和数字逻辑知识,并能够使用形式验证工具来执行SVA断言。
具备数字设计概念和硬件描述语言(HDL)的基本理解
建议熟悉SVA语言,但不是必需条件
拥有形式验证概念的相关知识有益,但不是必要前提
推荐具备集成电路设计、验证或相关领域的背景,以便更好地理解课程内容
理解数字逻辑与时序逻辑设计原理
本课程适合:
希望学习形式验证技术的硬件设计和验证工程师
有志于拓展知识面的集成电路设计专业学生
有意提升技能的半导体行业从业人员
对形式验证及其在芯片设计中应用感兴趣的个人
希望了解基于属性的验证方法并使用SystemVerilog Assertions (SVA) 的工程师
有兴趣加深对形式验证方法理解的人员
希望在项目中应用形式验证技术的个人
有志于提升形式验证技术专长的工程师
希望使用形式验证工具对RTL设计进行验证的设计人员
对高效的属性编码和断言编写方法感兴趣的专业人士
课程介绍
随着形式验证技术的持续发展,无论是形式化工具的性能,还是相关方法学,这些年来都取得了显著提升。形式验证在行业内也逐渐受到广泛关注。在芯片验证领域最具影响力的技术大会DVCon上,与形式验证相关的主题演讲逐年增多。这些演讲展示了形式验证技术在实际项目中的应用情况,业内主要的芯片设计公司也分享了具体的应用案例。
在验证设计功能时,形式验证具备独特的可证真优势。这一特点已逐步得到设计和验证工程师的认可。越来越多的工程师将形式验证视为一项必须掌握的重要技能,开始主动学习如何将其应用于各自项目,并探索其在传统仿真方法之外所带来的额外价值。
在项目中有效部署形式验证的前提是具备编写高质量属性的能力。属性编码是将形式验证引入实际设计流程中的第一步。SystemVerilog Assertions(SVA)为表达设计意图、描述功能预期以及实现自动形式检查提供了一种标准且强大的手段。
本课程“形式化验证SVA编码”的目标是帮助工程师掌握SVA属性编写的关键技术和实践方法。通过学习这项技能,工程师能够为形式验证建立坚实基础,充分利用工具的自动化能力,从而提高验证的深度和设计的可靠性。本课程内容将引导学习者理解如何在形式验证环境下构建、完善并应用基于属性的验证策略。
学习目标
1、在形式验证中,验证的对象是属性检查。需要从这些模块的规格中逐一识别适合形式验证的设计模块,并抽象其功能特性。使用基于属性的语言将这些特性转化为对应的属性,构建基于属性的形式验证测试平台,并将 RTL 设计代码与属性检查进行对比,以验证 RTL 设计代码的功能是否满足设计规范的要求。
2、随着形式技术研究的成熟并逐渐达到行业所需的复杂程度,我们必须采取措施以确保成功过渡到这种更高要求的阶段。其中一步是从根本上改变设计方法论,从模糊的自然语言规格转向数学上精确且可验证的规格形式。形式属性验证是这一方法学变革的关键因素。最终结果是通过更深入理解设计空间、改善设计意图的沟通以及提升验证质量来提高设计质量。
3、SVA 是 SystemVerilog 语言的一部分,由行业标准 IEEE1800 定义。SVA 是一种属性描述语言,其基本语法由四个层次组成:布尔表达式、序列、属性以及验证指令。
4、SVA 从验证的角度描述设计的行为,使用属性描述设计应做与不应做的事情。课程提供了多种使用 SVA 语言的实用方法,以及推荐的编码风格、常见 SVA 问题及其规避方法,以及不同 SVA 放置方式的优缺点。
5、对于效率低下的 SVA,其创建和调试需要耗费大量时间。效率低下的 SVA 问题不仅限于工具和技术,还涉及许多人为因素,使属性难以理解,并在维护和复用方面带来巨大问题。在形式验证中,所有 SVA 和设计代码都需要由综合工具建模为状态空间,它们都是复杂性的一部分,因此 SVA 的效率尤为重要。
6、在基于属性的验证环境中,通常需要大量辅助 HDL 代码,而 SVA 的比例往往较小。通过创建辅助代码,可以让属性的编写更加简单、可读性更强且易于理解。使用辅助代码还能帮助工具更容易地评估验证问题,并缩短工具运行时间。SVA 语言存在一些局限性,面对复杂设计时,SVA 语言根本无法完整描述,必须借助辅助代码来帮助建模和构建这些设计行为。
7、基于断言的验证测试平台的开发通常需要大量时间和精力,因此需要考虑验证环境(如模型、断言、假设、覆盖点等)的可复用性。对于一些常见的设计模块,可以开发并封装成基于断言的验证组件,使其更加标准化和通用化,从而成为基于断言的验证 IP。在形式验证过程中,更多地使用此类验证 IP,可以显著减少搭建验证环境的时间,并有助于提高验证工作的效率和质量。
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