第0章 基于断言的验证
第1章 SVA介绍
1.1什么是断言
1.2为什么使用System Verilog断言(SVA)
1.3System Verilog的调度
1.4SVA术语
1.4.1并发断言
1.4.2即时断言
1.5建立SVA块
1.6一个简单的序列
1.7边沿定义的序列
1.8逻辑关系的序列
1.9序列表达式
1.10时序关系的序列
1.11SvA中的时钟定义
1.12禁止属性
1.13一个简单的执行块
1.14蕴含操作符
1.14.1交叠蕴含
1.14.2非交叠蕴含
1.14.3后续算子带固定延迟的蕴含
1.14.4使用序列作为先行算子的蕴含
1.15SvA检验器的时序窗口
1.15.1重叠的时序窗口
1.15.2无限的时序窗口
1.16“ended”结构
1.17使用参数的SVA检验器
1.18使用选择运算符的SVA检验器
1.19使用true表达式的SVA检验器
1.20“$past”构造
1.21重复运算符
1.21.1连续重复运算符[*]
1.21.2用于序列的连续重复运算符[*]
1.21.3用于带延迟窗口的序列的连续重复运算符[*]
1.21.4连续运算符[*]和可能性运算符
1.21.5跟随重复运算符[->]
1.21.6非连续重复运算符[=]
1.22“and”构造
1.23“intersect”构造
1.24“or”构造
1.25“firstmatch”构造
1.26“throughout”构造
1.27“within”构造
1.28内建的系统函数
1.29“disableiff”构造
1.30使用“intersect”控制序列的长度
1.31在属性中使用形参
1.32嵌套的蕴含
1.33在蕴含中使用if/else
1.34SVA中的多时钟定义
1.35“matched”构造
1.36“expect”构造
1.37使用局部变量的SVA
1.38在序列匹配时调用子程序
1.39将SVA与设计连接
1.40SVA与功能覆盖
第2章 SVA模拟方法论
2.1一个被验证的实例系统
2.1.1主控设备
2.1.2中间设备
2.1.3目标设备
2.2块级验证
2.2.1SVA在设计块中的应用
2.2.2仲裁器的验证
2.213模拟中针对仲裁器的SVA检验
2.2.4主控设备的验证
2.2.5模拟中针对主控设备的SVA检验
2.2.6胶合(Glue)的验证
2.2.7模拟中针对胶合逻辑(glue logic)的SVA检验
2.2.8目标设备的验证
2.2.9模拟中针对目标设备的SVA检验
2.3系统级验证
2.4功能覆盖
2.4.1实例系统的覆盖率计划
2.4.2功能覆盖小结
2.5用于创建事务日志的SVA
2.6用于FPGA原型测试的SVA
2.7SVA模拟方法的小结
第3章 SVA在有限状态机中的应用
3.1设计例子——FSM1
3.1.1FSMl的功能描述
3.1.2FSMl的SVA检验器
3.2设计实例——FSM2
3.2.1FSM2的功能描述
3.2.2FSM2的SVA检验器
3.2.3有时序窗口协议的FSM2
3.3在FSM中应用SVA的小结
第4章 SVA用于数据集约型(DATA INIENSVE)的设计
4.1简单乘法器的检验
4.2设计实例——算术单元
4.2.1WHT算术
4.2.2WHT硬件的实现
4.2.3WHT模块的SVA检验器
4.3设计实例一PEG的数据通路设计
4.3.1三模块的深入探讨
4.3.2用于JPEG设计的SVA检验器
4.3.3.IPEG模型的数据检验
4.4数据集约型设计的小结
第5章 SVA储存器
5.1存储控制系统实例
5.1.1CPU—AHB接口操作
5.1.2存储控制器的操作
5.2SDRAM的验证
5.3SRAM/FLASH的验证
5.4DDR-SDRAM的验证
5.5存储器SVA的小结
第6章 SVA协议接口
6.1PCI简介
6.1.1一个PCI读出事务的实例
6.1.2PCI写入事务实例
6.2PCI系统实例
6.3情形1——主控DUT设备
6.4情形2——目标DUT设备
6.5情形3——系统级断言
6.6用于标准协议的SVA小结
第7章 对检验器的检验
7.1断言验证
7.2双信号SVA Assenion Test
7.2.1双信号的逻辑关系
7.2.2电平敏感逻辑关系激励的产生
7.2.3边沿敏感逻辑关系激励的产生
7.2.4双信号的时序关系
7.2.5时序关系激励的产生
7.2.6双信号的重复关系
7.2.7双信号ATB环境
7.3一个PCI检验器的ATB实例
7.4检验器检验小结
展开