System Verilog学习笔记(二)——自定义类型

本文介绍了SystemVerilog中的自定义类型,包括typedef用于创建用户类型,enum用于枚举类型(包括整型转换和自定义枚举),以及struct用于创建结构体类型,以组织逻辑相关的数据信号。
摘要由CSDN通过智能技术生成

System Verilog学习笔记(二)——自定义类型

通过**typedef来创建用户自定义类型;
通过
enum来创建枚举类型;
通过
struct**来创建结构体类型。
为了使代码易读和维护,加“_t”的后缀表示是自定义类型。
typedef int unsigned unit;
enum {red,green,blue} RGB; //表示枚举类型RGB可以拥有red、green、blue的三个数值。

枚举类型

默认的枚举类型是int,即32位的二值逻辑数据类型。整型(int)不能直接赋值为枚举类型,枚举类型可以转换为整型(int)。
如,enum bit {TRUE,FALSE} Boolean;
如果一个枚举类型数值被赋值,那么所赋的值必须符合数据类型。如果是四值逻辑数据类型,也可以赋值为X或Z。
枚举类型也可以声明为自定义类型。例如;typedef enum {WAITE,LOAD,READY} states_t;

结构体类型

设计或者验证的数据经常会有逻辑相关的数据信号组,例如一个总线协议的所有控制信号,或者在一个状态控制器中用到的所有信号。SV中用结构体struct,结构体中可以是任何变量类型,包括自定义或者其他常量类型。结构体是变量的合集,可以用来索引其内部的变量。方法和C一致,结构体名.address=“****”
结构体类型也可以用typedef来自定义。通过分号’和花括号{}来实现整体赋值。

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值