expand_less
メインビジュアル

monologue

第7回:アサーション(その③)

こんにちは。第7回も、前回に続いてアサーションです。
今回は「並列アサーション」についてのひとり言です。

並列アサーションの構文

並列アサーションは定常的にDUTを監視する常駐型のアサーションのことです。
並列アサーションでは発火条件(アサーションが実行されることを発火といいます)を記載するため、プロパティ文をアサーション構文内で用いるが、アサーション文とプロパティ文をまとめて一文で記述する方法と、プロパティを部品として分離して記述する方法とがあります。プロパティ文の使いまわしが必要な場合は分離して記述するほうがよいですが、そうでない場合はどちらでも問題ありません。

記述例
プロパティを部品として記述する場合の例

【Property内で使える関数】
先に記載しました$rose、$fell以外にもプロパティ用の関数がいくつか用意されているため、以下に一覧表で示します。

プロパティ用関数一覧

  ex1)関数の演算結果に対してさらに演算を加えることが可能です。
     例えば 「 (~$stable(a)) 」 などと記述すると「値が変化したとき」となる。
  ex2) 関数の引数に演算を加えながら与えることができます。
     例えば 「 $onehot0(~A)」などと記述すると「1bit L又はALL-H」となる。
   

【property内でのタイミングの記述】

Property内のタイミング記述

CAREER PLAN

思い描く未来を
MGICと共に成長する