SV环境搭建基础知识整合①
概念:sv比verilog和vhdl的优势
1.抽象的数据结构描述可满足更高层面的验证需求
2.面向对象的软件变成方式提供了更好的模块性和封装性和复用性
3.完全基于软件化的侯建方式实现,独立于设计
4.约束化随机激励可提高回归测试的激励
5.功能覆盖率收集可量化功能验证点使验证进度更易于反映
一、数据类型
引入了新的数据类型logic,SV侧重于验证,其并不十分关心logic类型对于逻辑应被综合为寄存器还是综合网线。
与logic类型对应的数据类型是bit型,它们都可以用来构建矢量类型(vector)
其区别:1. logic为四值逻辑,即可表达为0、1、X、Z(偏向硬件)
2.bit为二值逻辑,只可以表达0、1(偏向软件)
四值:integer、reg、logic、net-type
二值:byte、shortint、int、longint、bit
eg:
logic[7:0] logic_vec = 8'b1000_0000;
bit[7:0] bit_vec = 8'b1000_0000;
byte signed_vec= 8'b1000_0000;
initial begin
$display("logic_vec = %d",logic_vec);
$display("bit_vec = %d",bit_vec);
$display("signed_vec = %d",signed_vec);
end
从仿真器得到的结果:
# logic_vec = 128
# bit_vec= 128
# signed_vec = -128
有符号:byte、shortint、int、longint、integer
无符号:bit、reg、logic、net-type
eg:如果有符号变量和无符号变量混用,会有意外错误
bit [8:0] result_vec;
initial begin
A_ok = signed_vec;
$display("@1 A_ok = 'h%x",A_ok);
A_ok = unsigned'(signed_vec);
$display("@2 A_ok = 'h%x",A_ok);
end
仿真结果:
# @1 A_ok = 'h180
# @2 A_ok = 'h080
总结:
1.A_ok被赋值为8'b1000_0000,表示有符号十进制数-128
2.A_ok = signed_vec,右侧有符号数-128被赋值左侧时,需要从8位扩展到9位,保证有符号数不变,将8'h80扩展成9'h180(均为-128),再给左侧
3.A_ok = unsigned'(signed_vec),就没有上述比特位发生变化的问题
尽量在编码时保证操作符左右两侧符号一致!
SV环境搭建基础知识整合①相关推荐
- html+css基础知识整合 2021-08-30
html基础知识整合 文章目录 **html基础知识整合** [web的组成] [HTML5基本语法] 常规标签(普通标签.双标签) [文章标签] [修饰标签] [特殊字符] [HTML注释] [列表 ...
- c #include如何找到文件_UNIX系统上程序员需要掌握的C编程环境的基础知识
这是一份非常简短的文档,可以帮助你熟悉UNIX系统上C编程环境的基础知识.它不是面面俱到或特别详细,只是给你足够的知识让你继续学习. 关于编程的几点一般建议:如果想成为一名专业程序员,需要掌握的不 ...
- HTML基础知识整合复习总结
HTML基础知识整合复习总结 ------------------------------------------------------------------------------------- ...
- 01.软件测试基础知识整合
软件测试基础 前言 一.什么是软件测试 二.软件测试的目的 三.软件测试的基本流程 四.测试分类 五.测试用例 1.什么是测试用例 2.测试用例的重要性 3.测试用例的设计方法 4.测试点分析 5.如 ...
- 智能家居实训第一天 嵌入式介绍 需求分析 开发环境 Linux基础知识
===========嵌入式===================== 走向: 软件 人机交互 内核 系统 硬件 单片机 C语言:51单片机 写代码---- ...
- PHP学习笔记——环境安装/基础知识
参考资料:http://www.php.cn/course/2.html 编程词典(方便查找某个函数或者知识点):http://www.php.cn/dic/29.html 更多请查看PHP参考手册, ...
- Python opencv图像处理基础总结(一) 环境搭建 基础操作
学过的知识,会过时.会遗忘,但在努力过程中学会的处事态度和做事习惯,都会留在骨子里,变成我们的一部分. Open Source Computer Vision Library,OpenCV于 1999 ...
- Linux环境搭建基础(二)
Linux上搭建项目的环境基础(二) 一.Linux上安装中文字体 二.Linux上安装rar解压工具 (做个笔记,自己以后忘了方便查找,会持续更新-) 一.Linux上安装中文字体 重要程度 ✮✮ ...
- RocketMQ单机环境搭建测试+springboot整合
1.资源下载 官网:下载 | RocketMQ 这里选择使用编译后可以直接用的 下载后解压:略 2.更改配置 主要是更改 conf/broker.conf 的配置,记得添加上下面这几行,否则消息发送失 ...
最新文章
- 《网页设计创意书》读后感
- 分析Cocos2d-x横版ACT手游源码 1、公共
- [原] Unity调用android版新浪微博
- Eclipse中新建jsp文件访问页面时乱码问题
- 【Verilog】有限状态机
- python使用字典实现switch_python之 利用字典与函数实现switch case功能
- redis类型[string 、list 、 set 、sorted set 、hash]
- [Python从零到壹] 三十七.图像处理基础篇之图像融合处理和ROI区域绘制
- step4 . day7 进程间的通信方式
- 现代软件工程 作业 最后一周总结
- 图片:jpg png gif bmp 区别(四)
- 插件显示缩进_硬核,这 3 款 IDE 插件让你的代码牢不可破
- Linux(Ubuntu)触摸屏校准
- 程序员:职业很抓狂!前途很迷茫?送你破解困境秘籍!
- 生物特征识别:指纹识别技术应用
- .net 生成拼音码与五笔码
- python爬取动态页面图片_python动态网页爬取:爬取pexel上的图片
- 信号与系统——典型的连续时间信号讲解
- SQL Server创建一个带有输入和输出参数的存储过程并调用
- Java基础教程-首篇前序-二进制符号位及原反补