【验证概括 SV的数据类型_2023.12.18】

验证概括

验证的过程是保证芯片实现符合规格说明书(Specification,spec)的过程
验证的两项任务:
RTL sim:前仿真,验证功能
GLS-Gate (Level Simulation):后仿真,验证功能和时序

验证功能点
产生激励
分析DUT/DUV(design under test/verification)(就是设计代码RTL)的输出

前仿真与后仿真

RTL前仿真流程:
理解DUT → 制定验证策略方法提取验证点+搭建平台 → 执行平台 → 检查覆盖率
后仿真流程:
环境准备DUT(netlist+SDF)+选择Case(考虑关键路径、频率、速率) → 后仿真及Violation分析
SDF(standard Delay Format):后端经PR布局布线之后生成的包含网表中各器件单元延时、走线延时、信号宽度、时序要求等信息的文件

动态与静态时序分析

动态时序分析
根据电路中提取的延时参数,通过仿真软件动态的仿真电路以验证时序是否满足要求(后仿真)

静态时序分析
通过分析设计中所有可能的信号路径以确定时序约束是否满足时序规范(数字后端工程师)

SV数据类型

SV:用于验证的语言
UVM:用于验证的方法学

initial:只执行一次,本身不可综合,可在module,interface,program中使用
always:只可在module或interface中使用
SV中,module/interface硬件,program/class软件

内建类型(基本数据类型)

verilog中数据类型分为variable(reg,integer,time)和net(wire,wor,wand)型,都为四值逻辑
SV中数据类型有两个属性:type(区分variable和net)和data type(区分4值与2值)
variable可4可2值,net只能4值
SV新数据类型 logic,不用区分reg还是wire,但不能被多驱动(不能使用inout)
logic:4值;bit:2值(引入的原因:减少内存消耗,提高性能)

四值:integer reg logic net-type(wire tri)
二值:byte shortint int longint bit
有符号:byte shortint int longint integer
无符号:bit logic reg net-type(默认单比特,标量)

在这里插入图片描述

result_vector=unsigned'(signed_vector)//有符号数转换为无符号数

2值逻辑中没有x,会转变为0
有符号数高位补符号位,无符号数高位补0
在这里插入图片描述

数组 定长的,元素一致,有序

定宽数组:

int  m[0:15];//16个整数[0],[1]...
int n[16];//16个整数[0],[1]...

多维数组:

int array[0:1][0:2];//6个存储单元,每个存储单元都是int型
int array[2][3]='{'{0,1,2},'{3,4,5}};//非合并数组,'{0,1,2}给array[0],'{3,4,5}给array[1]
==初始化前访问数组成员,logic返回X(四值),int或bit返回0(二值)==

动态数组:
在这里插入图片描述

合并数组:连续存放

bit [3:0][7:0] bytes;//用32bit
$display("%h",bytes[3][7]);//结果1,注意和多维数组的区别
非合并数组:不需把数据当作一个整体来访问
bit [7:0] b_unpack[3];//每个b_unpack[]给32bit,只用8bit,浪费空间
int [7:0] b_unpack[3];//语法错误,不可以是多bit数据类型,只能设为reg/logic/bit单比特类型

数组操作:循环 复制 比较

foreach遍历多维数组foreach(md[i,j])
a=b;//直接数组b复制给数组a
==和!=进行比较,结果仅限于内容相不相同

队列(可变长的):先进先出

int q[$]={0,2,5};
q={};//删除整个队列
q[$]={0,2,5};
q[1:$]={2,5};//$在右边表示最大
q[$:1]={0,2};//$在左边表示最小,在右边表示最大

在这里插入图片描述

结构体

数据的集合(可包含不同数据类型元素),使用不多(类可实现)

struct和typedef struct(重定义新数据类型)的使用

在这里插入图片描述
声明变量一定要放在initia块前面

合并与非合并结构体

非合并赋值方式student1='{18,222,“aa”};不可以student1={18,222,“aa”};

压缩和非压缩结构体:

typedef struct packed{bit [1:0] a,b,c}s;//c,b,a连续存
typedef struct {bit [1:0] a,b,c}student;//c,b,a分别存

在这里插入图片描述
非压缩结构体赋值要加“ ’ ”,如11行不加会报错
压缩结构体赋值可加可不加“ ’ ”,但要注明位宽,不然赋值易出错

联合结构体union

在这里插入图片描述x改变,y改变,成员公用一块内存空间,一个改变其他的也改变

typedef union packed{bit[7:0] a; byte b;}s;//必须是压缩的共享空间,成员一个位宽

枚举类型

默认int类型,默认0,1,2……,没有定义,后一个值是前一个加一
在这里插入图片描述

字符串 可变长

str.toupper()//转成大写
str.tolower()//转成小写
str.putc(i,c)//字符输入,将字符串str中第i个字符替换为字符c
str.substr(i,j)//子串,由str的第i和第j个中间的所有字符组成
strA.compare(strB)与strA.icompare(strB)//结果相同,相同为0,不同为1或-1

在这里插入图片描述

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

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

相关文章

百万资金开证券账户ETF佣金最低可以做到多少?万0.5!

在金融市场中,交易者需要支付各种费用,包括佣金、管理费、交易费等。对于频繁交易的投资者来说,选择一个低费率的投资工具是提高投资收益的关键。在众多金融产品中,交易所交易基金(ETF)以其独特的优势吸引了…

lv12 linux设备树、网卡驱动移植

目录 1 设备树 1.1概念 1.2 设备树文件 1.3 设备树语法 2 Linux内核驱动移植 2.1 步骤 3 实验八网卡驱动移植 3.1 在内核源码的顶层目录下执行如下命令,修改内核配置 3.2 在设备树中添加网卡的硬件信息 3.3 修改时钟相关配置(忽略无用的时钟&…

【代码随想录】刷题笔记Day37

前言 试一试早上晚上固定时间刷题会不会效率and养成习惯 135. 分发糖果 - 力扣(LeetCode) 两边一起判断容易顾此失彼从左到右遍历,只比较右比左大的情况,局部and全局:右比左大从右到左遍历,只比较左比右…

<ctype.h> 头文件:C 语言字符处理函数详解

文章目录 引言函数isalpha():isdigit():isalnum():isspace():ispunct():islower():isupper():tolower():toupper(): 引言 在 C 语言中&#xff0c;<ctype.h> 头文件提供了一系列用于字符处理的函数&#xff0c;这些函数对于处理和验证用户输入、进行文本处理以及字符转换…

运维大模型探索之 Text2PromQL 问答机器人

作者&#xff1a;陈昆仪&#xff08;图杨&#xff09; 大家下午好&#xff0c;我是来自阿里云可观测团队的算法工程师陈昆仪。今天分享的主题是“和我交谈并获得您想要的PromQL”。今天我跟大家分享在将AIGC技术运用到可观测领域的探索。 今天分享主要包括5个部分&#xff1a;…

mysql 5.7.34二进制安装报错:VCRUNTIME140_1.DLL

1 Windows 2012R安装MySQL5.7.34二进制版本 执行命令&#xff0c;出现如下提示 mysqld --defaults-fileD:\mysql-5.7.43-winx64\my.ini --initialize 处理方法&#xff1a;下载文件&#xff0c;并替换到C:\windows\system32目录下即可 https://cn.dll-files.com/vcruntime140…

[pyqt5]QSpinBox相关函数

1.QSpinBox简介 QSpinBox是计数器控件&#xff0c;允许用户输入整数&#xff0c;或者通过上下按键递增或者递减&#xff0c;默认调整范围是0-99&#xff0c;每次变化步数1&#xff0c;用户可以自行修改范围和步数&#xff1b; QSpinBox常用方法如下&#xff1a; QSpinBox信号…

iPad绘画之旅:从小白到文创手账设计的萌系简笔画探索

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 iPad的出现&#xff0c;不仅改变了我们对电子设…

7. Resource database in UVM(UVM的资源数据库)

UVM集中资源数据库用于存储可配置&#xff08;configurable&#xff09;对象/object、变量/variables、虚拟接口/virtual interfaces、队列/queues、类句柄/class handles等&#xff0c;并从数据库中检索它们。这种可配置的测试平台为验证工程师提供了一定程度的自由度&#xf…

变换编码基本原理:理解视频编码中的关键技术

在视频编码中&#xff0c;变换编码是一项重要的基本原理&#xff0c;其通过对视频信号进行变换和压缩&#xff0c;实现了高效的视频数据编码和传输。本文将介绍变换编码的基本原理、应用及其在视频编码中的重要作用。 1. 变换编码的基本原理 1.1 变换编码概述 变换编码是一种…

设计模式-单例模式(结合JVM基础知识)

1.定义介绍 所谓单例模式&#xff0c;是指在程序运行时&#xff0c;整个JVM中只有一个该类的实例对象 2. 单例模式的优点 复用性高&#xff0c;节省内存资源。类的加载、连接、初始化、使用都要占用虚拟机内存空间&#xff0c;因此&#xff0c;频繁创建对象会造成资源浪费&a…

【教程】从gitee或者github,下载单个文件或文件夹命令

1.打开git 2.初始化 git init 3.设置允许下载子目录 &#xff08;不需要修改任何&#xff0c;只要原样复制&#xff0c;需要按照个人状况修改的话我会标注&#xff09; git config core.sparseCheckout true 4. 选择要下载的单个文件夹的路径 这里单引号内部需要修改&…

StarRocks-3.1.6升级

1、升级路径 1.1、小版本升级 您可以跨小版本升级您的 StarRocks 集群&#xff0c;例如&#xff0c;从 v2.2.6 直接升级到 v2.2.11。 1.2、大版本升级 从 StarRocks v2.0 开始&#xff0c;您可以跨大版本升级 StarRocks 集群&#xff0c;例如&#xff0c;从 v2.2.x 直接升级…

使用事件机制的好处例子说明

不使用事件机制 class Button {public void OnClick(){// 调用文本框的方法显示消息TextBox.ShowMessage("按钮被点击了&#xff01;");} }class TextBox {public static void ShowMessage(string message){Console.WriteLine(message);} }如果你想要在按钮被点击时执…

AR眼镜定制_AR智能硬件方案|显示方案|光学方案

AR眼镜的硬件方案定制是根据客户需求和功能来设计的。从芯片平台选型、主板尺寸大小、内存、电池容量&#xff0c;到实现各项功能的传感器、显示光机模组、摄像头、接口、按键、充电等&#xff0c;再到整机的结构、散热设计&#xff0c;以及双目AR眼镜、单目智能眼镜、全息头盔…

【集合】Vector与CopyOnWriteArrayList

前言&#xff1a; 此篇博客着重于&#xff1a;在多线程并发执行读、写操作的场景下&#xff0c;Vector集合、CopyOnWriteArrayList集合是否能保证线程安全&#xff1f;它们是通过什么方式保证线程安全的&#xff1f; Vector&#xff1a; &#xff08;1&#xff09;add(E e)方法…

Linux系统下修改环境变量及生效方法

1.修改环境变量 &#xff08;1&#xff09;打开终端&#xff0c;输入以下命令后回车&#xff1a; vim ~/.cshrc &#xff08;2&#xff09;将所需的环境变量添加进去&#xff0c;按“Esc”退出&#xff0c;再按shiftZZ&#xff0c;使其保存 2.执行source ~/.cshrc使其生效即…

Text to image论文精读 TISE (Text-to-Image Synthesis Evaluation):用于文本到图像合成的评估度量工具包

TISE (Text-to-Image Synthesis Evaluation)是一款用于评估文本生成图像的Python评估工具箱。文章由Tan M. Dinh, Rang Nguyen, and Binh-Son Hua等人发表。 其以统一的方式促进、倡导公平的评估度量&#xff0c;并为未来的文本到图像综合研究提供可重复的结果。 文章链接&am…

centos7.9中离线安装nginx开启ssl,arm架构

一、首先需要去国内相关镜像库下载相关依赖rpm&#xff1a; http://mirrors.bfsu.edu.cn/centos-altarch/7.9.2009/os/aarch64/ http://mirror.nju.edu.cn/centos-altarch/7.9.2009/os/aarch64/ http://mirrors.tuna.tsinghua.edu.cn/centos-altarch/7.9.2009/os/aarch64/ htt…

电子企业数字工厂管理系统有哪些实施难点

随着科技的快速发展&#xff0c;数字化转型已经成为企业提升竞争力、优化生产流程的必经之路。在电子企业中&#xff0c;数字工厂管理系统的实施尤为关键&#xff0c;它能够助力企业实现高效、精准的生产管理。然而&#xff0c;在实际操作过程中&#xff0c;实施数字工厂管理系…