搞不清SystemVerilog数据类型?

跟其他编程语言一样,学习SystemVerilog可以从数据类型入手。相比于Verilog,SystemVerilog引入了很多新的数据类型,尤其是复合数据类型,比如队列、动态数组、关联数组、结构体、枚举类型、类等等。然而本文并不直接讲这些玩意,整理学习思路还是得从基础打起。

数据类型和数据对象

数据类型和数据对象是两个不同的概念。

数据类型可以理解为数学上的集合概念,包括了完整的值域和这些值所支持的运算规格。举个例子,整型类型的值域是整数集,它支持四则运算,并且满足一定的代数性质,比如封闭性、交换律、结合律等等。而基本的数据类型,是可以用被用来创建更加复杂的数据类型的。

数据对象则可以理解为一个实体,操作系统会为其分配实实在在的内存空间并对其进行管理,比如是否可读可写。根据存储和赋值等方式的不同,在SV中可以分为参数(parameter)、变量(variable)和线网(net)三种类别。

最后还要厘清数据类型和数据对象的关系。那就是数据对象这个实体会有一个具体的取值(即使没有初始化也会有默认值),它属于某一种数据类型,并且支持该类型的运算规则。按照数据对象进行划分,可以将数据类型做如下分类:

在这里插入图片描述

逻辑状态

在SV中,除了支持内建字符序列的字符串类型、一般用来表示时间的实数类型、用来表示异常的事件类型外,其余众多基本数据类型的每一比特都拥有一种逻辑状态,即0或1或者X或Z。每一种逻辑状态的含义如下表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值