断言:用来与设计功能和时序做比较的属性描述,即,仅仅是一种属性描述,并不能修改设计本身的行为。
根据断言执行的时序特点,可以将断言分为
立即断言(immediate assertion)和
并行断言(concurrent assertion)。
立即断言:非时序的,执行起来如同过程语句一样,可以在initial/always规程块或者task/function中使用。
并行断言:具有时序性,并且语法上具有关键词property,之所以称为并行,是因为他们与设计模块一同并行执行。
另外,在断言的实际使用中,会常常用到assertion/property/sequence三个不同的层次,那么三者的关系是怎样的呢?
这非常类似于数学集合中的包含和包含于的概念,即,assertion包含property,而,property包含sequence,
并且,sequence是用来表示在一个或者多个时钟周期内的时序描述,是property的基本构建模块,并经过组合来描述更加复杂的功能属性。