SystemVerilog
SystemVerilog は表明記述言語を内包しており、Property Specification Language に似ている。表明は、各時点での設計上の特性を照合するのに使う。
SystemVerilog の表明は sequence(シーケンス)と property(属性)から構成される。属性はシーケンスの上位概念であり、シーケンスは属性としても扱うことが可能である。ただし、それが必ずしも有益というわけではない。
シーケンスには、時相演算子を使ったブーリアンの式を指定する。最も単純な時相演算子 ## は連結を意味する:
このシーケンスでは、gnt 信号が req 信号が High となった1クロック後に High となることを表明している。このようにシーケンス型の表明は常にクロックと同期している。
これ以外にも様々な時相演算子がある。これらを使うとコンポーネント間の設計上の複雑な関係を表現することができる。
1つの表明は、あるシーケンスや属性の状態を連続的に監視し、表明に記述したことに反する動作をするとエラーとなる。上記のシーケンスは req が Low であった場合に失敗する。