🔌 断言技术实战
30章 · 从入门到精通
电路验证 · SVA · 形式化
01
断言基础:什么是断言?为什么需要断言?断言在验证流程中的位置。
02
SystemVerilog断言(SVA)概述:SVA的起源、SVA与Verilog断言的区别、SVA的核心概念。
03
立即断言:立即断言语法、立即断言的使用场景、立即断言与并发断言的区别。
04
并发断言基础:并发断言语法、并发断言与时钟的关系、并发断言与复位的关系。
05
序列(sequence)基础:什么是序列?序列的语法、序列的简单示例。
06
序列操作符(上):延迟操作符(##)、重复操作符([*n]、[=n]、[->n])。
07
序列操作符(下):逻辑操作符(and、or、intersect)、条件操作符(throughout、within)。
08
属性(property)基础:什么是属性?属性的语法、属性与序列的关系。
09
属性操作符:蕴含操作符(|->、|=>)、时序操作符(s_eventually、always、never)。
10
断言中的函数:$rose、$fell、$stable、$past、$onehot、$onehot0、$isunknown。
11
断言中的局部变量:局部变量的声明、局部变量的赋值、局部变量的作用域。
12
断言中的方法:$asserton、$assertoff、$assertkill、$assertcontrol。
13
断言覆盖率:cover property的使用、cover sequence的使用、覆盖率数据的收集与分析。
14
断言绑定(bind):bind的语法、bind的使用场景、bind的注意事项。
15
断言中的宏:`assert、`assume、`cover、`assert_off、`assert_on。
16
断言中的假设(assume):assume property的语法、assume在形式验证中的作用、assume与assert的区别。
17
断言中的期望(expect):expect语句的语法、expect在动态仿真中的使用。
18
断言调试技巧:如何定位断言失败?断言信息的格式化、使用$error和$warning。
19
断言与功能覆盖率:断言覆盖率与功能覆盖率的区别、如何结合使用。
20
断言在总线协议验证中的应用(上):AHB协议断言实战。
21
断言在总线协议验证中的应用(下):AXI协议断言实战。
22
断言在FIFO验证中的应用:空满标志断言、读写指针断言、溢出/下溢断言。
23
断言在状态机验证中的应用:状态跳转合法性断言、状态编码唯一性断言、死锁检测断言。
24
断言在握手协议验证中的应用:req/ack时序断言、valid/ready握手断言。
25
断言在跨时钟域(CDC)验证中的应用:CDC同步器断言、多比特同步断言、握手协议CDC断言。
26
断言在低功耗验证中的应用:电源域切换断言、隔离单元断言、电平转换器断言。
27
断言在形式验证中的应用:形式验证简介、如何为形式验证编写断言、形式验证与动态仿真的互补。
28
断言重用策略:如何设计可重用的断言库?断言参数化、断言宏封装。
29
断言管理:如何组织断言文件?断言命名规范、断言文档化。
30
断言最佳实践与常见陷阱:断言编写黄金法则、常见错误模式、性能优化建议。
⭐ 点击任意章节跳转至对应html文件