SVLIB-utilities for enumeration types

概述

svlib中的EnumUtils类是用于对ENUM类型及其值操作的class,该类需要针对需要操作的ENUM进行参数化。使用EnumUtils必须使用代码中真实定义的ENUM类参数化,不能使用默认定义的int,否则会出现很多莫名的错误。

函数及使用

该class有主要以下几种函数:

class EnumUtils #(type ENUM = int) 

typedef logic [$bits(ENUM)-1:0] BASE;//BASE为enum中的值的位宽对应的数

extern static function ENUM fromName(string s);//根据enum中的name判断enum的值。
extern static function int pos(BASE b);//根据enum中的值判断其在enum中的位置,若不存在,则返回-1。
extern static function bit hasName(string s);//根据name判断是否enum有这个name
extern static function int maxNameLength();//判断enum中最长的name
extern static function bit hasValue(BASE b);//根据值判断是否enum有这个值
extern static function qe allValues();//将enum中的name和值全都放到一个enum队列里
extern static function ENUM match(BASE b, bit requireUnique = 0);//判断值是否与enum中的某个值匹配,若不匹配,则报出错误。

endclass

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值