在 SystemVerilog Assertions (SVA) 中,sequence 和 property 是兩個核心概念,它們既有區別又緊密相關。對于初學者,可能不需要過多理解;但是要想寫出復雜精美的斷言,深刻理解兩者十分重要。今天,我們匯總和學習一下該知識點。
1. 區別
特性 | sequence | property |
---|---|---|
定義 | 描述一系列按時間順序發生的事件模式 | 描述一個完整的斷言條件,可以包含sequence |
時間性 | 關注時序上的事件序列 | 可以包含時序和非時序的斷言 |
用途 | 作為構建property的基本模塊 | 作為完整的斷言語句 |
評估 | 不能直接用于斷言,必須嵌入property中 | 可以直接用于assert、assume、cover語句 |
運算符 | 主要使用時序運算符(##, [*], [=]等) | 可使用邏輯運算符(and, or, not等)和蘊含操作符 |
2. 聯系
-
層級關系:property 通常由 sequence 構建而成,sequence 是 prope