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

[UVM]编写一个验证vld和rdy握手的断言

在这里插入图片描述
断言功能分析
核心功能:
验证当有效信号(vld) asserted 后、准备信号(rdy)还未asserted之前,vld不能提前de-asserted。
协议要求:
一旦发起方asserted vld,必须保持asserted状态,直到接收方asserted rdy完成握手。
在这里插入图片描述
时序行为:
触发条件:vld && $fell(rdy) - vld为高且rdy出现下降沿

验证要求:从下一个周期开始,vld必须保持为高,直到vld && rdy同时为高出现一次
等价于:
“一旦开始传输(vld高),在握手完成(vld和rdy同时高)之前,发起方不能取消传输请求”
在这里插入图片描述
在这里插入图片描述
⚙️ 技术细节说明
关键运算符:
$fell(rdy):检测rdy的下降沿

|=>:蕴含操作符,左边成立时检查右边在下一个周期成立

throughout:在整个序列期间保持某条件

[->1]:goto运算符,匹配序列第一次出现

复位和禁用:
disable iff(SVA_RST(rst) || off):复位信号或控制信号为真时禁用断言检查。
🚨 错误消息意义
当断言失败时,错误信息明确指示:
“vld asserted then de-asserted before rdy asserted”
意思是:vld信号在rdy信号asserted之前就提前de-asserted了,这违反了握手协议的基本要求。
💡 设计验证价值
这个断言确保:

协议稳定性:传输请求不会意外撤销

数据完整性:避免传输过程中的数据丢失

系统可靠性:防止因协议违反导致的死锁或错误

这是一个非常重要的协议检查断言,在总线验证和接口验证中非常常见。
在这里插入图片描述

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

相关文章:

  • 第5篇 c++ 函数的多返回值实现-返回多个值
  • 工业智能体时代,制造业要不要建AI中台?
  • Day17 Docker学习
  • 【打包压缩】tar包和命令格式简介
  • 【完整源码+数据集+部署教程】植物病害检测系统源码和数据集:改进yolo11-EMSCP
  • 134-细粒度多尺度符号熵和鲸鱼优化算法的滚动轴承故障诊断技术MSVM
  • Parasoft C/C++test端到端透明可追溯的软件测试解决方案
  • 基于STM32单片机智能家居声音人体防盗GSM短信报警系统设计
  • 力扣452:用最少数量的箭射爆气球(排序+贪心)
  • 从“走过场”到“看得见”的成长:在线学习系统如何重塑企业培训价值
  • Unity DateTime 相关
  • 数据分析编程第六步:大数据运算
  • 【leetcode】114. 二叉树展开为链表
  • 死锁检测 及其测试用例
  • Linux的环境变量
  • 10迁移TiDB数据库数据到GaussDB
  • Java实现PDF表格转换为CSV
  • 消失的数字
  • RAG 系统核心:深入理解向量相似度匹配与文本向量化
  • Python中将py程序打包成exe可执行文件并封装环境以及本地依赖+单个exe和文件目录两种状态(亲测可用建议收藏)
  • docker 下载镜像报错
  • [HFCTF2020]EasyLogin
  • 日本IT|C++相关面试及问答技巧分享
  • STM32项目分享:基于单片机的自行车测速系统设计
  • Win11 压缩实测:Win11 的压缩软件的最佳配置和使用方式
  • 网站酷炫换皮肤?——PC 端 H5 换肤方案实战分享
  • WebGIS开发智慧校园(8)地图控件
  • A股大盘数据-20250829 分析
  • 03.《交换的底层逻辑:从基础到应用》
  • vue3中安装tailwindcss