概念: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环境搭建基础知识整合①相关推荐

  1. html+css基础知识整合 2021-08-30

    html基础知识整合 文章目录 **html基础知识整合** [web的组成] [HTML5基本语法] 常规标签(普通标签.双标签) [文章标签] [修饰标签] [特殊字符] [HTML注释] [列表 ...

  2. c #include如何找到文件_UNIX系统上程序员需要掌握的C编程环境的基础知识

    ​ 这是一份非常简短的文档,可以帮助你熟悉UNIX系统上C编程环境的基础知识.它不是面面俱到或特别详细,只是给你足够的知识让你继续学习. 关于编程的几点一般建议:如果想成为一名专业程序员,需要掌握的不 ...

  3. HTML基础知识整合复习总结

    HTML基础知识整合复习总结 ------------------------------------------------------------------------------------- ...

  4. 01.软件测试基础知识整合

    软件测试基础 前言 一.什么是软件测试 二.软件测试的目的 三.软件测试的基本流程 四.测试分类 五.测试用例 1.什么是测试用例 2.测试用例的重要性 3.测试用例的设计方法 4.测试点分析 5.如 ...

  5. 智能家居实训第一天 嵌入式介绍 需求分析 开发环境 Linux基础知识

    ===========嵌入式===================== 走向:  软件  人机交互         内核  系统         硬件  单片机 C语言:51单片机   写代码---- ...

  6. PHP学习笔记——环境安装/基础知识

    参考资料:http://www.php.cn/course/2.html 编程词典(方便查找某个函数或者知识点):http://www.php.cn/dic/29.html 更多请查看PHP参考手册, ...

  7. Python opencv图像处理基础总结(一) 环境搭建 基础操作

    学过的知识,会过时.会遗忘,但在努力过程中学会的处事态度和做事习惯,都会留在骨子里,变成我们的一部分. Open Source Computer Vision Library,OpenCV于 1999 ...

  8. Linux环境搭建基础(二)

    Linux上搭建项目的环境基础(二) 一.Linux上安装中文字体 二.Linux上安装rar解压工具 (做个笔记,自己以后忘了方便查找,会持续更新-) 一.Linux上安装中文字体 重要程度 ✮✮ ...

  9. RocketMQ单机环境搭建测试+springboot整合

    1.资源下载 官网:下载 | RocketMQ 这里选择使用编译后可以直接用的 下载后解压:略 2.更改配置 主要是更改 conf/broker.conf 的配置,记得添加上下面这几行,否则消息发送失 ...

最新文章

  1. 《网页设计创意书》读后感
  2. 分析Cocos2d-x横版ACT手游源码 1、公共
  3. [原] Unity调用android版新浪微博
  4. Eclipse中新建jsp文件访问页面时乱码问题
  5. 【Verilog】有限状态机
  6. python使用字典实现switch_python之 利用字典与函数实现switch case功能
  7. redis类型[string 、list 、 set 、sorted set 、hash]
  8. [Python从零到壹] 三十七.图像处理基础篇之图像融合处理和ROI区域绘制
  9. step4 . day7 进程间的通信方式
  10. 现代软件工程 作业 最后一周总结
  11. 图片:jpg png gif bmp 区别(四)
  12. 插件显示缩进_硬核,这 3 款 IDE 插件让你的代码牢不可破
  13. Linux(Ubuntu)触摸屏校准
  14. 程序员:职业很抓狂!前途很迷茫?送你破解困境秘籍!
  15. 生物特征识别:指纹识别技术应用
  16. .net 生成拼音码与五笔码
  17. python爬取动态页面图片_python动态网页爬取:爬取pexel上的图片
  18. 信号与系统——典型的连续时间信号讲解
  19. SQL Server创建一个带有输入和输出参数的存储过程并调用
  20. Java基础教程-首篇前序-二进制符号位及原反补

热门文章

  1. 树莓派系统剪裁、克隆
  2. Synergistic Saliency and Depth Prediction for RGB-D Saliency Detection
  3. 台达PLC中的寄存器如何进行高低位调换?
  4. H3C服务器重做RAID
  5. 英国化学实验室的管理模式
  6. flink 空闲窗口-withIdleness
  7. 数据仓库(二)之维度建模篇
  8. license程序设计 系统划分 及加密设计 加密算法调用openssl库
  9. 测试开发岗 - 常见面试题
  10. win10出现错误代码0x80073712的解决办法