目录
1 SystemVerilog引进的新的数据类型的优点?
- 双状态数据类型:更好的性能,更低的内存消耗。
- 队列、动态和关联数组:减少内存消耗,自带搜索和分类功能。
- 类和结构:支持抽象数据结构。
- 联合和合并结构:允许对同一数据有多种视图(view)。
- 字符串:支持内建的字符序列。
- 枚举类型:方便代码编写,增加可读性。
2 Verilog与SystemVerilog内建数据类型的比较?
2.1 Verilog
- 两种数据类型:变量和线网(net)。
- 变量:
- 单bit或多bit无符号数 reg。
- 32bit 有符号数 interger。
- 64bit 无符号数 time。
- 浮点数 real。
- 所有数据都是静态static类型。
2.2 SystemVerilog
-
逻辑(logic)类型
- 为什么创建这个类型? SystemVerilog对经典reg数据类型改进,使得作为一个变量外还可以被连续赋值。为了区分寄存器类型,新建logic类型。
- logic不能有多个结构性驱动,比如双向总线,其他情况下任何使用线网的地方均可以使用logic。
-
双状态数据类型
- 最简单的双状态数据类型:bit。
- 另4种带符号的双状态数据类型:byte(8bit)、shortint(16bit)、int(32bit)和longint(64bit)。
- 注意双状态连接到被测设计输出时X或Z会转换成双状态值。$isunknown() 检测到X或Z会返回1。
3 Verilog与SystemVerilog数组的比较
3.1 定宽数组
- Verilog必须在声明种给出数组的上下界 int data[0:15],SystemVerilog可以只给出数据宽度int data[16]。
- Verilog-1995数组下标和位下标不能同时使用。Verilog-2001与SystemVerilog可以 src[0][2:1] src数组0的bit2:1。
- SystemVerilog可以创建多维定宽数组 int array[0:7][0:3] /int array[8][4] 创建一个8行4列的数组。
- SystemVerilog操作数组最常见的方式是使用for或foreach循环。
- SystemVerilog可以合并数组 bit [3:0][7:0] bytes,四个8bit数据合并在一起。
SystemVerilog新特性:数据类型提升与应用详解

本文详细探讨了SystemVerilog引入的新型数据类型及其优点,如双状态数据、队列、链表和枚举,对比了Verilog与SystemVerilog的内建数据类型差异,重点讲解了数组、结构、类型转换和特殊数据类型(如字符串)。此外,还涵盖了数据类型在性能、内存管理和抽象数据结构中的应用。
最低0.47元/天 解锁文章
1272

被折叠的 条评论
为什么被折叠?



