SystemVerilog Assertions 应用指南学习笔记(一)

断言

什么是断言?
SystemVerilog Assertion应用指南学习笔记
为什么使用SystemVerilog Assertion(SVA)?
SystemVerilog Assertion应用指南学习笔记

SVA术语

SVA中定义了两种断言:即时断言和并发断言

并发断言

SystemVerilog Assertion应用指南学习笔记
SystemVerilog Assertion应用指南学习笔记

即时断言

SystemVerilog Assertion应用指南学习笔记

SVA块

SystemVerilog Assertion应用指南学习笔记
举个例子:如下所示,就是一个property里如何嵌套sequence
SystemVerilog Assertion应用指南学习笔记

边沿定义的序列

SystemVerilog Assertion应用指南学习笔记
举例:
SystemVerilog Assertion应用指南学习笔记
SystemVerilog Assertion应用指南学习笔记

逻辑关系的序列

SystemVerilog Assertion应用指南学习笔记

序列复用

SystemVerilog Assertion应用指南学习笔记
SystemVerilog Assertion应用指南学习笔记

时序关系的序列

SystemVerilog Assertion应用指南学习笔记
SystemVerilog Assertion应用指南学习笔记

需要注意:序列s4的开始时间和结束时间不同。

如果信号“a”在任何时钟周期不为高电平,序列在同个时钟周期开始并失败。

如果信号“a”是高电平,序列开始。在两个时钟周期后,如果信号“b”是高电平,序列成功(第5和第14时钟周期)。另一方面,如果在两个时钟周期后,信号“b”不是高电平,序列失败。

应注意的是,在图中,成功的序列总是标注在序列开始的位置。

SVA中的时钟定义

SystemVerilog Assertion应用指南学习笔记

通常情况下,在property中定义时钟,使sequence独立于时钟是一种好的编码风格

SystemVerilog Assertion应用指南学习笔记

禁止属性

SystemVerilog Assertion应用指南学习笔记

相关文章: