首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

贰 | 数据类型1 —— 内建数据类型

System Verilog 引进的新的数据类型,他们所具有的优点:

双状态数据类型(bit, byte, shortint, int, longint): 具有更好的性能,更低的内存消耗。

队列(int a[$]),动态数组(int a[]),关联数组(int a[string]):减少内存消耗,且自带搜索和分类功能。

类(class)和结构(struct):支持抽象的数据结构。

联合结构和合并结构:允许对统一数据有多种视图(view)。

字符串(string):支持内建的字符序列。

枚举类型(enum):方便代码编写,增加代码可读性。(工程实践中经常使用)

1

思维导图

2

思维导图大纲

内建数据类型

Verilog-1995 基本数据类型

变量

单比特或多比特无符号整数(reg [7:0] m)

32bit 的有符号整数(integer)

64bit 的无符号整数(time)

64bit 的有符号整数(real)

线网(net)

System Verilog 增加的数据类型

逻辑类型(logic)

由经典的reg数据类型修改而来

四状态数据类型

既可以作为变量,也可以被连续赋值(assign)、门单元、模块所驱动

任何使用线网(net)的地方都能使用,但是只能有一个驱动,不能有多个结构性的驱动

双状态数据类型

与四状态数据类型相比,提高了仿真器的性能并降低内存使用量

bit

无符号

bit b;  // 双状态单比特

bit [32:0] b32;  // 双状态 32bit 无符号整数

int

int unsigned u32;  // 32bit无符号整数

int b32;  // 32bit有符号整数

byte

byte b8;  // 8bit 有符号整数

shortint

shortint b16;  // 16bit有符号整数

longint

longint b64;  // 64bit有符号整数

将双状态变量连接到被测设计时,需要注意,尤其是被测设计的输出时,若被测设计产生了 X 或 Z,这些值将会被转换成双状态值(0 或 1),被测设计可能无法察觉,需要随时检测未知值的传播

$isunknown 操作符,可在表达式的任意位置出现 X 或 Z 时返回1

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O0tGXqhEH9Q_GBssaL5wf2Jw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券