#systemverilog# 关于随机约束之 概述

news2024/11/14 19:39:55

一 简介

约束驱动的测试生成方法使得用户能够自动地为功能验证产生测试。随机约束测试比一个传统的、直接的测试方法更有效率。通过通过指定约束,我们可以很容易地为难于到达的边界条件产生测试。SystemVerilog允许用户以一种紧凑、明了的方式指定约束。约束接下来会被一个求解器处理,这个求解器用来产生满足约束的随机值。

典型情况下,随机约束在一个面向对象的数据对象之上指定。它将需要被随机化的数据建模成包含随机变量和用户定义约束的对象。约束确定了可以被赋值给随机变量的有效值。

二 概述

2.1 功能概述

class Bus;
    rand bit[15:0] addr;
    rand bit[31:0] data;
    constraint word_align {addr[1:0] == 2’b0;}
endclass

us类建模了一个简化的总线,它具有两个随机变量:addrdata,分别代表总线上的地址和数据。word_align约束指出:addr的随机值必须能够使addr字对齐(低两位为0)。

randomize()方法被调用以便为一个总线对象产生新的随机值:

Bus bus = new;

repeat (50) begin
    if (bus.randomize() == 1)
        $display ("addr = %16h data = %h\n", bus.addr, bus.data);
    else
        $display ("Randomization failed.\n");
end

调用randomize()会为一个对象中的所有的随机变量选择新的值

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

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

相关文章

mac m1通过qemu和grub制作操作系统引导盘

文章目录 前言grub安装引导盘FAQ参考附录qemu安装ubuntuGRUB安装到回环设备吧啦吧啦... 前言 我电脑是mac m1芯片的,做了如下尝试,最终在第4种方式下成功: 开始用了parallels desktop安装了ubuntu 22版本的,因为本机是arm64芯片…

Linux学习-基础篇

Linux学习 学自尚硅谷武晟然老师,结合老师课堂内容和自己笔记所写博文。 文章目录 Linux学习基础篇桌面与终端文件系统一、文件系统和挂载点二、目录结构bin、sbinlib、lib64usrbootdevetchome、rootoptmedia、mntprocrunsrvsystmpvar Vim编辑器一、整体介绍和模式转…

GridView编辑更新时数据没有改变,总是原来的值

GridView编辑更新时数据没有改变,总是原来的值 猜测原因是:我在点击更新时又执行了page_load方法,又将数据库的值绑定到了gridview上,所以永远都是数据库的值 解决办法:判断页面是不是第一次加载。在page_load方法…

【论文笔记】FASTER SEGMENT ANYTHING:TOWARDS LIGHTWEIGHT SAM FOR MOBILE APPLICATIONS

前脚fast SAM刚发完,后脚mobile SAM就发了 ,之前的论文笔记中我一直就认为fast SAM其实应该算是yolo的扩展工作,和原生的SAM架构相去甚远,而且在简介上直接就对(gong)比(ji)了FastSA…

VS2022运行一闪而过的解决方案

1.问题情景 编写完程序后,尝试在VS中编译链接运行(使用快捷键F5或者fnF5或者ctrlfnF5,不同的电脑可能不太一样)发现控制台一闪而过。 2.解决方案 解决方案:右击“项目”->“链接器”->“子系统”->修改为“…

云原生——什么是云原生?

❄️作者介绍:奇妙的大歪❄️ 🎀个人名言:但行前路,不负韶华!🎀 🐽个人简介:云计算网络运维专业人员🐽 前言 伴随云计算的滚滚浪潮,云原生(CloudNative…

Matlab中统计矩阵中元素个数的方法

1、 tabulate函数 a [1,2,1,3,1,4,1,5,2,3,1,4,2,5,4,2];tabulate(a)第一列代表了元素,第二类代表该元素出现的个数,第三列代表该元素的占比。 2、find函数和length函数 判断矩阵a中元素2出现的次数 a [1,2,1,3,1,4,1,5,2,3,1,4,2,5,4,2]; length(…

Cadence 生成智能 PDF 的方法

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 提示:这里可以添加技术概要 项目设计完成后,原理图文件需要导出 PDF 文档进行归档,过去导出的 PDF 文 件不带属性,网络标识不可选择,查找元器件和网络标识不…

自定义类创建数组的赋值;并回复:窗体图片时间

缘由https://bbs.csdn.net/topics/392551630 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;…

Nacos 配置更新的工作流程

首先,Nacos 是采用长轮训的方式向 Nacos Server 端发起配置更新查询的功能。所谓长轮训,(如图)就是客户端发起一次轮训请求到服务端,当服务端配置没有任何变更的时候,这个连接一直打开。 直到服务端有配置或…

微分方程应用——笔记整理

首先,根据正常思路走,化简得到式子: 不难发现,设 后面得出该方程的通解: 这里要注意什么等于这个通解 --- z 又因为该曲线过点 所以可以求出c为3 该题虽然简单,但是要注意几个问题,该定…

轻松生成高质量用例的API接口工具

1、前言 随着自动化测试技术的普及,已经有很多公司或项目,多多少少都会进行自动化测试。 目前本部门的自动化测试以接口自动化为主,接口用例采用 Excel 进行维护,按照既定的接口用例编写规则,对于功能测试人员来说只…

vue使用img标签:src属性动态引入资源路径的方法

vue版本号&#xff1a;3.2.13 vue中<img src"" />标签静态引入图片资源 <template><!-- <router-view/> --><!-- 静态引入图片资源 --><img src"./assets/logo.png" alt""> </template><style la…

微软MFC技术中消息的定义

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天来聊聊MFC技术中消息的定义。 本贴子首先介绍MFC消息的基本概念&#xff0c;理解消息的定义是学习使用MFC的基础。了解消息的驱动机制后&#xff0c;才能彻底明白MFC的运行机制。 首先来看什么是消息。…

VS code搭建JavaScript环境调用XHR实现post和get简单流程

一、下载NodeJS 下载node&#xff0c;最好到node官 https://nodejs.org/en/ 下载一个LTS&#xff08;Long Term Surport&#xff09;长期支持版本。 输入命令node -v 就可以看到node的版本了如果node安装包集成了npm(node package manage)&#xff0c;那我们输入命令npm -v 也…

11 S整数小波分解图像(matlab程序)

1.简述 学习目标&#xff1a; 非标准小波分解&#xff08;用S整数变换&#xff09; 小波分解过程&#xff1a;读取加入噪声后的图片后&#xff0c;数据即是高度*宽度个数据点。对此矩阵数据要做二维离散小波分解&#xff0c;二维小波变换和一维小波变换的区别从原理上来说就是…

stable diffusion webui 下载和使用civitai中的模型

1.网址 C站网址为&#xff1a;https://civitai.com/。注&#xff1a;这里需要科学上网 2.下载模型 1.选择想要的模型&#xff0c;点击【Download】按钮&#xff0c;这里演示【Deliberate】模型的下载和使用 2.将下载的模型&#xff0c;存放到【/models/Stable-diffusion】目…

基于圆弧搜索和最小似然圆估计的圆查找算法

在这里提出一种算法&#xff0c;其实是将两篇papers的想法的结合。没有什么创新点&#xff0c;只是做一下算法原理的记录&#xff0c;防止后面重新看代码的时候一头雾水。 算法的目的在于查找特定半径范围的圆&#xff0c;而不致力于查找所有的圆&#xff0c;当然它也支持查找所…

04约瑟夫环

约瑟夫问题 设编号为1&#xff0c;2&#xff0c;3……n的n个人围坐成一圈&#xff0c;约定编号为k(1<k<n)的人从1开始报数&#xff0c;数到m的那个人出列&#xff0c;它的下一位又从1开始报数&#xff0c;数到m的那个人又出列&#xff0c;以此类推&#xff0c;直到所有人…

新手简单看懂Servlet里面的web.xml配置

背景&#xff1a; ecplisetomcatservlet 我们在学习servlet时候&#xff0c;因为前面基础没学好&#xff0c;导致servlet看不懂&#xff0c;比如笔者当时就是servlet的web.xml看不懂&#xff0c;如果我们能先看懂web.xml&#xff0c;知道前端访问哪个接口&#xff0c;调用哪个…