微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 求助,帮忙注释几行sv的代码

求助,帮忙注释几行sv的代码

时间:10-02 整理:3721RD 点击:
property cmd_onehot;
@(cb) disable iff (sys_reset) (cmd_vect != 0) |-> $onehot(cmd_vect);
endproperty
assert property (cmd_onehot)else $error ("commandoverlaped violation error");
这是用sv写的一个tb里的几行,猜测意思是cmd_onehot不是1的时候就出错,打印$error信息。
但是这几行具体的语法是怎样的,请高手给解释一下吧。O(∩_∩)O谢谢!刚接触sv,看sv的LRM也是一头雾水。
另外,|->和|=>这两个是什么作用,也没看懂。

伪代码如下:
always @(cb) begin
if(sys_reset) begin
断言空成功
end
else begin
if(cmd_vect != 0) begin
if(cmd_vect只有一位为1) begin//独热码状态机
断言成功
end
else begin
断言失败
end
end
else begin
断言空成功
end
end
end
|-> 左边条件成立的情况下,立即判断右边条件是否成立
|=> 左边条件成立的情况下,在下一个采样时钟沿判断右边条件是否成立

O(∩_∩)O谢谢指点!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top