SV枚举类型

  • 抽象变量代表一个数值序列,用户可以定义每一个数值
enum{RED,GREEN,BLUE}RGB//RED=0,GREEN=1.,BLUE=2
  • 枚举类型支持first,last,next,prev操作
  • 枚举类型默认的值为int,若未在声明中指定数值,则第一个值为0,第二个值为1,依次递增;若在声明中需要指定数值,则必须满足所有的数值必须唯一这一条件,对于没有指定的元素,其数值是按照前一个元素的数值加1
enum{ONE=1,FIVE=5,TEN=10}state;//可用于状态机
enum{A=1,B,C,X=24,Y,Z}enum1;//A=1,B=2,C=3,X=24,Y=25,Z=26
enum{A=1,B,C,D=3}//error!!!!数值3不唯一
  • SV中允许显式指定基础类型,枚举类型赋值时,赋值的变量的值必须匹配基础类型
//指定基础类型
enum bit{FALSE,TRUE}boolean;//bit只有0和1,所以只能写两个变量
enum logic [1:0] {WAIT,LOAD,READY}state;
//枚举类型赋值
enum logic [1:0]{
		WAIT = 2'B01,
		LOAD = 2'B10,
		READY = 2'B11}state;
  • 枚举类型取值范围不能超多基础类型的有效范围!!!给四值逻辑变量赋值X/Z是合法的,但是必须给其之后的变量显式赋值,一般在设计中很少赋值为x/z
enum logic{A=1'b0,B}list;//此处logic是1bit的,只能允许两个变量
enum logic [1:0]{
		WAIT,
		ERR=2'Bxx,
		LOAD=1'b1,
		READY
}state
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值