SystemVerilog Assertions应用指南 Chapter 1.16“ended”结构

news2024/11/6 19:40:08

 1.16“ended”结构

        到目前为止,定义的序列都只是用了简单的连接( concatenation)的机制。换句话说,就是将多个序列以序列的起始点作为同步点,来组合成时间上连续的检查。SVA还提供了另种使用序列的结束点作为同步点的连接机制。这种机制通过给序列名字追加上关键词“ ended”来表示。例如,s. ended表示序列的结束点。关键词“ ended”保存了一个布尔值,值的真假取决于序列是否在特定的时钟边沿匹配检验。这个 s.ended的布尔值只有在相同时钟周期有效。
        序列sl5a和s15b是两个需要多个时钟周期来完成的简单序列,属性pl5a检查序列s15a和序列s15b满足两者间隔一个时钟周期的延迟分别匹配检验。属性p15b检査相同的协议,但是使用了关键词“ ended”。在这种情况下,两个序列在结束点同步。由于使用了结束点,两个序列间加上了两个时钟周期的延迟,来保证断言检验的协议与pl5a相同。

sequence s15a ;
	@(posedge clk) a ##1 b;
endsequence

sequence s15b;
	@(posedge clk) c ##1 d;
endsequence

property p15a;
	s15a |-> s15b;
endproperty

property p15b;
	s15a.ended |-> ##2 s15b.ended;
endproperty

a15a: assert property(p15a);
a15b: assert property(p15b);

        图1-18显示了属性p15a和p15b在模拟中的响应。表1-10总结了断言a15a和a15b的状态。断言a15a的第一个真正的成功发生在时钟周期2。当信号“a”被检测为高,检验在时钟周期2被激活。当信号“d”在时钟周期5检测为高时,检验完成。断言a15b的第一次真正成功出现在在时钟周期3。在时钟周期3,当序列s15a成功,即信号“b”被检测为高时检验被激活。接着在时钟周期5当序列s15b成功,或者说信号“d”被检测为高时,检验完成。

        断言a15a的第一次失败发生在时钟周期5。当信号“a”在给定的时钟上升沿为高,且一个时钟周期以后(时钟周期6)信号“b紧接着为高时,检测到一个有效的起始点。这样就会检查后续算子,因为信号“c”在下一个时钟周期不为高,检验失败于时钟周期7。
        相应地,断言a15b的第一个失败出现在时钟周期6。当序列s15a在时钟周期6成功结束时,检测到一个有效的起始点。接着检验后续算子在时钟周期8是否得到一个有效的结束点。因为信号“c”在时钟周期7不像期望的那样为高,序列的结束点的值为假,导致检验在时钟周期8为假。上述例子中,我们用了两种不同的方法来实现统一个检验。
        第一种方法基于序列的起始点来同步序列。第二种方法基于序列的结束点来同步序列。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1115151.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python二次开发Solidworks:修改实体尺寸

立方体原始尺寸:100mm100mm100mm 修改后尺寸:10mm100mm100mm import win32com.client as win32 import pythoncomdef bin_width(width):myDimension Part.Parameter("D1草图1")myDimension.SystemValue width def bin_length(length):myDime…

OpenGL —— 2.6、绘制一个正方体并贴图(附源码,glfw+glad)

源码效果 C源码 纹理图片 需下载stb_image.h这个解码图片的库,该库只有一个头文件。 具体代码: vertexShader.glsl #version 330 corelayout(location 0) in vec3 aPos; layout(location 1) in vec2 aUV;out vec2 outUV;uniform mat4 _viewMatrix; u…

手帐怎么做?推荐这10款手帐达人都在用的好用软件!

手帐是一种强大的可视化方式,可以记录你的观察、日常的思考,并随时间的推移来衡量你的进步。在各种手帐软件的帮助下,创建并完全自定义你的手帐变得比以往任何时候都更容易。 有无数的手帐软件可供选择,满足各种需求。但在众多的…

基于Java的勤工助学管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

京东数据分析:2023年9月京东洗烘套装品牌销量排行榜!

鲸参谋监测的京东平台9月份洗烘套装市场销售数据已出炉! 根据鲸参谋平台的数据显示,今年9月份,京东平台洗烘套装的销量为7100,环比下降约37%,同比增长约87%;销售额为6000万,环比下降约48%&#…

使用Spyder进行动态网页爬取:实战指南

导语 知乎数据的攀爬价值在于获取用户观点、知识和需求,进行市场调查、用户画像分析,以及发现热门话题和可能的新兴领域。同时,知乎上的问题并回答也是宝贵的学习资源,用于知识图谱构建和自然语言处理研究。爬取知乎数据为决策和…

如何在3DMAX中使用tyFlow粒子模拟插件创建样条线网格模型

3DMAX粒子模拟插件tyFlow是3dMAX上一款粒子模拟插件,3dMax的粒子流的非官方替代品,类似于Particle Flow插件,但是功能上更加强大,模拟粒子流动、汇聚破碎等各种效果。 tyFlow不仅仅是对粒子流的升级——相反,它是从头…

介绍drawio和图表使用场景

图表介绍 drawio是一个基于Web技术的草图、简图和图表的解决方案。 drawio支持在线编辑器,app.diagram.net.并支持不同的操作系统的桌面版离线安装版本。如:windows, linux, macOS。 对于个人或者团队,把图表绘制的安全放到第一位&#xff…

【马蹄集】—— 概率论专题:第二类斯特林数

概率论专题:第二类斯特林数 目录 MT2224 矩阵乘法MT2231 越狱MT2232 找朋友MT2233 盒子与球MT2234 点餐 MT2224 矩阵乘法 难度:黄金    时间限制:5秒    占用内存:128M 题目描述 输入两个矩阵,第一个矩阵尺寸为 l…

Python-嗨格式 之音频转换,ncm转mp3

缘由:本想下载一些歌到车机播放,发现大部分是ncm格式的。 查了下才知道是音乐软件限制了,会员下载的音频文件为.ncm格式,目前只能在网易云音乐APP上播放,不支持在其他音频播放软件或音频设备使用。 百度转换软件&…

Python词语转拼音

使用python写的图形汉语词语转拼音小工具 1)安装库 pip install flet 2)代码 # 声母列表 initial_consonant_list [b, p, m, f, d, t, n, l, g, k, h, j, q, x, zh, ch, sh, r,z, c, s, y, w] # 韵母列表 list_of_vowels [a, o, e, i, u, , ai, ei, ui, ao, ou, iu, ie, e…

MIKE水动力笔记18_如何将dfsu流场模拟结果的数据导出成txt文件

本文目录 前言Step 1 前置工作Step 2 导出相应数据 前言 MIKE的模拟结果dfsu文件的数据是可以导出的,导出格式为xyz,我们也可以将其改后缀改为txt文本格式,其中包含了某一时刻下所有网格坐标点的数据。 Step 1 前置工作 首先,在…

【驱动开发】控制stm32mp157a开发板三盏灯的亮灭

编写应用程序控制三盏灯的亮灭 head.h: #ifndef __HEAD_H__ #define __HEAD_H__typedef struct {unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; }gpio_t;//LED灯的寄存器地址 #define …

unity脚本_力 c#

创建一个脚本 将代码挂载到物体上 取消物体的重力 运行即向z轴运动 加力之后 是否停止是由阻力影响 如果阻力为零 则会一直运动 如果希望就算有阻力也让物体一直动就将加力代码放在Update函数里 using UnityEngine; public class Power : MonoBehaviour{ Rigidbody rigidBo…

SpringBoot 打包与运行

一、SpringBoot 程序打包 1、在Springboot工程 pom文件中&#xff0c;引入 spring-boot-maven-plugin 插件。 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifact…

基于鹈鹕优化的BP神经网络(分类应用) - 附代码

基于鹈鹕优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于鹈鹕优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.鹈鹕优化BP神经网络3.1 BP神经网络参数设置3.2 鹈鹕算法应用 4.测试结果&#xff1a;5.M…

基于蛇优化优化的BP神经网络(分类应用) - 附代码

基于蛇优化优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于蛇优化优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.蛇优化优化BP神经网络3.1 BP神经网络参数设置3.2 蛇优化算法应用 4.测试结果&#x…

二零二三充能必读 | 1024程序员狂欢节 —— 掌握前沿技术,探索未知领域

文章目录 I T 技术 ( I T T e c h n o l o g y ) IT技术(IT Technology) IT技术(ITTechnology)▊《 速学Linux&#xff1a;系统应用从入门到精通》▊《Python网络爬虫入门到实战》 人工智能 ( A r t i f i c i a l I n t e l l i g e n c e ) 人工智能(Artificial Intelligence…

【STM32】两个版本MDK搭建和三种调试器的使用

一、Keil MDK4的安装和介绍 1.Keil MDK和Keil C51的关系 1&#xff09;Keil原来是专门做51&#xff0c;后面被ARM收购&#xff0c; 2&#xff09;Keil MDK是Keil C51的另外一个版本。 2.MDK4下载 Keil Embedded Development Tools for Arm, Cortex-M, Cortex-R4, 8051, C166,…

js鼠标点击添加图标并获取图标的坐标值

给这个图片添加摄像头图标&#xff0c;并获取图标的坐标值&#xff0c;也就是图标的css样式是positon:absolute,获取left和top的值。 图片1 思路是这样的&#xff0c;获取这里的长度&#xff0c; 图片2 1.鼠标点击时距浏览器的左边距离和上边距离&#xff0c;相当于(0,0)坐标 …