SystemVerilog学习笔记(四):用户自定义类型

Typedef

Typedef 用于根据较长的数据类型规范创建新的标识符。它类似于alias命令。

Typedef 主要用于 System Verilog 中的复杂测试平台,因为它用代码中的标识符替换了较长的数据类型,如 int(unsigned longint,signed Shortint)、byte、bit[7:0]、logic[7:0]。

Typedef 在类、结构和枚举中使用,使数据类型声明更容易。

语法:

typedef <base_type> <size> <type_name>;

在类中的 Typedef

Typedef 在类中的主要用途:有时我们在声明类本身之前使用类变量。这时候就会导致代码出现一些编译错误。因此,为了避免编译错误,我们可以在类本身的声明之前使用“typedef 类变量”。

语法:

typedef class class_name;

示例

typedef class fruit2;
class fruit1;
fruit2 f;
endclass

class fruit2
fruit1 f;
endclass

在结构体中的 Typedef

如果没有 Typedef,Structure 在大型复杂测试平台中可能会出现一些编译错误。 Typedef 还提供了使声明变得更加容易的功能。

语法:

typedef struct {
datatype name;
datatype name;
}structure_name;

示例

typedef struct{
string name;
byte id;
longint age;
} personal_ details_s;

在枚举中的 Typedef

Typedef 用于当我们需要多个变量共享相同的枚举值时。如果没有 Typedef,我们将得到语法错误。枚举数据类型为所有值创建新变量。

语法:

typedef enum {
values
} <type_ name>;

示例

typedef enum {
RORITO,
FLAIRFX,
REYNOLDS
}pen_e;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值