SVA 中|-> 与||->区别
时间: 2024-06-15 20:05:20 浏览: 19
在SVA(SystemVerilog Assertions)中,|-> 和 ||-> 是两种不同的时序关系操作符。
1. |->(sequence implication):表示在一个时序关系中,如果前一个序列发生,则后一个序列必须发生。它的语法形式为:sequence1 |-> sequence2。其中,sequence1 和 sequence2 是两个时序序列。
2. ||->(concurrent implication):表示在一个并发关系中,如果前一个序列发生,则后一个序列必须发生。它的语法形式为:sequence1 ||-> sequence2。其中,sequence1 和 sequence2 是两个并发序列。
区别:
- |-> 是时序关系操作符,用于描述两个时序序列之间的关系,即前一个序列必须在后一个序列之前发生。
- ||-> 是并发关系操作符,用于描述两个并发序列之间的关系,即前一个序列必须在后一个序列之前或同时发生。
相关问题
sva断言中的if elseif使用
在VA断言中,可以使用if-else语句来实现条件分支。在if语句中,可以使用disable关键字来禁用断言的触发。elseif关键字用来表示if语句的其他条件分支。在SVA中,可以使用disable iff语法来实现if-else语句的功能。具体语法如下所示:@[posedge clk disable iff (condition) (assertion)。在这个语法中,当条件(condition)满足时,断言(assertion)将被禁用。这种用法可以实现类似if-else的功能。引用提供了一个示例,其中使用了disable iff关键字。请注意,这个语法可以在SVA的sequence和property中通用使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [verilog断言(SVA)语法](https://blog.csdn.net/weixin_44857476/article/details/115876136)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
用SVA写个代码检查复位信号由高电平到低电平,低电平保持1~n个周期再到高电平
下面是一个SVA代码示例,用于检查复位信号(RST)在高电平到低电平,保持低电平1~n个周期再到高电平的过程中是否正确触发了。
```
property rst_check;
@(posedge clk)
(rst == 1) |-> ##1 (rst == 0) |-> ##[1:$n] (rst == 0) |-> ##1 (rst == 1);
endproperty
assert property (rst_check);
```
在这个SVA代码中,我们同样使用了property来定义一个名为rst_check的属性,表示复位信号(RST)在上升沿到下降沿,保持低电平1~n个周期再到上升沿的过程中是否正确触发。具体来说,该代码首先等待时钟(clk)的上升沿,并检查复位信号(RST)是否为高电平(1)。如果是,那么它会等待一个时钟周期,然后再次检查复位信号(RST)是否为低电平(0)。如果是,那么它会等待1到n个时钟周期,然后再次检查复位信号(RST)是否为低电平(0)。如果是,那么它会等待一个时钟周期,然后再次检查复位信号(RST)是否为高电平(1)。如果这个过程中任何一步检查失败,那么该属性将返回false。
同样地,我们使用assert语句来检查该属性是否始终为真。如果不是,那么将会触发一个错误,表明复位信号(RST)触发的顺序不正确。其中,$n$应该被替换为实际的保持周期数。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)