当前位置: 首页 > news >正文

验证-SystemVerilog-数据类型、断言

刚开始工作,首先要去做验证相关的工作了,后续还是以FPGA的Verlog为主,但还是懂一些SystemVerilog,不需要精通,只希望懂点基本的。

1、logic和bit

SV作为验证语言,不关心变量对应的逻辑应该被综合为寄存器还是线网,同时为了方便DV驱动和连接硬件模块,省去考虑reg和wire的精力,于是新引入了logic和bit。

注意:logic和bit不能是多驱,即如果硬件端用的是inout wire类型,则不能用logic/bit,只能用wire。

数据类型 属性 符号 描述
logic 4值 0、1、X、Z
bit 2值 0、1

1.1 logic和bit的比较

由于验证环境更多的是二值逻辑,所以即使有了四值逻辑logic,还要引入二值逻辑bit。相较于四值逻辑logic,二值逻辑bit有利于提高仿真器的性能并减少内存的使用量。

//**************************************************************************
// *** 名称 : SV_02_bit_vs_logic.v
// *** 描述 : logic(4值)和bit(2值)的比较:
//**************************************************************************
module SV_logic_vs_bit;initial begin: logic_vs_bitbit    bit_num;logic  logic_num;$display("---< test start >---")//---------------------------------------------------------------------logic_num    =    'b1;            $display("logic_num = %d",logic_num);bit_num      =    logic_num;      $display("bit_num = %d",bit_num);//    #    logic_num  = 1 //    #    bit_num    = 1//---------------------------------------------------------------------logic_num    =    'b0;            $display("logic_num = %d",logic_num);bit_num      =    logic_num;      $display("bit_num = %d",bit_num);//    #    logic_num  = 0 //    #    bit_num    = 0//---------------------------------------------------------------------logic_num    =    'bx;            $display("logic_num = %d",logic_num);bit_num      =    logic_num;      $display("bit_num = %d",bit_num);//    #    logic_num  = x //    #    bit_num    = 0//---------------------------------------------------------------------logic_num    =    'bz;            $display("logic_num = %d",logic_num);bit_num      =    logic_num;      $display("bit_num = %d",bit_num);//    #    logic_num  = z //    #    bit_num    = 0
endendmodule

1.2 四值逻辑的检查

如果DUT试图产生x或z,采用bit后这些值会被转换为0或1,使用$isunknow可以在表达式任意位出现x或z时返回1.

if($isunknow(iport)==1)$display("@%0t: 4-state value detected on iport %b",$time,iport);

2、有符号数

大多数时候使用的都是无符号数,logic和bit也属于无符号数,但也有时候需要使用到有符号数。

数据类型 属性 尾款 符号有无
int 2值 32
int unsigned 2值 32
integer 4值 32
shortint<
http://www.dtcms.com/a/475371.html

相关文章:

  • 淘宝网站建设可以申请赔款建筑招工网站
  • 响水做网站德州做网站建设的公司哪家好
  • 建设银行纪念币预约网站神马网站快速排名软件
  • 打开网站代码中国机械加工网app
  • RFSOC 47DR PCIE板卡支持PCIE4.0
  • 建设厅网站给领导留言如何查看wordpress用户量上限
  • 「机器学习笔记11」深入浅出:解密基于实例的学习(KNN算法核心原理与实践)
  • 初识JAVA-1
  • 网络攻防技术:口令攻击
  • 综合评价-云模型 极简化软件操作+全流程方法介绍
  • 怎么开发网站平台公司网站后台密码
  • 网站目录文件查看万网网站制作
  • synchronized和reentrantlock区别?
  • 基于AHP-模糊综合评价法的工程实践能力评价
  • 同步语言Lustre的故事 —— 来自Lustre联合发明人的回顾(2005)
  • 华城建设集团有限公司官方网站wordpress背景设置
  • 依赖仓库搭建
  • 服装 东莞网站建设wordpress login 出错
  • 科普:Python 中, `return`与`yield` (及<generator object fibonacci at 0x.........>)
  • 站群服务器是什么意思源码下载网站推荐
  • 广东住房和城乡建设厅网站做网站建设优化的公司
  • shell创建tar gz文件
  • 企业二级域名自助建站平台北京商地网站建设公司
  • Linux性能分析实战指南
  • 营销型企业网站源码wordpress anki插件
  • “Fontconfig head is null”错误的终极排查与修复
  • 纯 flash 网站有没有免费的虚拟主机
  • ARP介绍
  • 网站维护费大概多少国际贸易网站大全
  • wordpress 三站合一大专电子商务主要学什么