当前位置: 首页 > news >正文

#SVA语法滴水穿石# (004)关于 ended 和 triggered 用法

在 SystemVerilog 断言(SVA, SystemVerilog Assertions)中,ended 是一个用于 序列(sequence) 的关键字,它表示某个序列(sequence)在特定时间点已经成功匹配(即“结束”)。

ended 主要用于 同步不同序列的时间关系,尤其是在多序列组合或属性(property)中需要对齐时序的场景。

1. 基本定义

  • sequence.ended
    表示指定的序列(sequence在当前时间点已经完成匹配。

    • 如果序列在当前时间点之前(即过去的时钟周期)完成匹配,则 sequence.ended 为真。

    • 与 sequence.triggered 不同,ended 仅关注序列是否在当前时间点结束,而非整个仿真历史。

2. 关键特性

  1. 时间对齐
    ended 用于确保两个序列的结束时间对齐。例如,序列 A 的结束时间必须与序列 B 的结束时间一致。

  2. 同步检查
    在多序列组合中,ended 可以同步不同序列的完成时间点,常用于协议握手或状态机跳转的验证。

  3. 基于时钟边沿
    ended 的值在每个时钟边沿重新计算,与断言所在的时钟域同步。

3. 基础示例:握手协议同步

场景描述
  • 设计规则:当请求信号 req 拉高后,应答信号 ack 必须在 req 结束的同一时间点拉高。

http://www.dtcms.com/a/113207.html

相关文章:

  • Java HttpURLConnection修仙指南:从萌新到HTTP请求大能的渡劫手册
  • #SVA语法滴水穿石# (005)关于 问号表达式(condition ? expr1 : expr2)
  • Arduino示例代码讲解:ADXL3xx 加速传感器
  • Java 类型转换和泛型原理(JVM 层面)
  • 论定制开发开源 AI 智能名片 S2B2C 商城小程序源码在零售变革中的角色与价值
  • 基于sklearn实现文本摘要思考
  • Linux进程间通信——有名管道
  • 【AI论文】基础智能体(Foundation Agents)领域的进展与挑战:从类脑智能到进化型、协作型及安全型系统
  • 数据化管理(二)---寻找零售密码
  • 使用Ubuntu18恢复群晖nas硬盘数据外接usb
  • [自制调试工具]利用模板函数打造通用调试工具
  • 使用OpenFeign实现服务远程调用
  • 数据定义语言
  • 【速写】einops杂记
  • 【数据结构】堆
  • 【KWDB创作者计划】_KaiwuDB 2.1.0 单节点裸机部署
  • 续-算法-数学知识
  • 数据结构【栈和队列附顺序表应用算法】
  • GenerationMixin:generate
  • MIPI与DVP接口摄像头:深度解析与应用指南
  • 素数的判断方法
  • Mysql explain中列的解析
  • SortedSet结构之用户积分实时榜单实战
  • WordPress图标设置插件,免费功能小巧
  • 武装自己的Kali
  • 轨道交通装备三维检测与轻量化设计
  • Cookie、Session、Token、JWT的区别和使用场景
  • 深度测评 | 聚铭下一代智慧安全运营中心如何破解电力行业安全运维难题?
  • C++ 判断字符是否为数字或字母:isalpha、isdigit 和 isalnum 函数详解
  • 【2-8】同步通信与异步通信