Systemverilog 第七课 Structure

本文详细介绍了Systemverilog中的Structure,包括packed和unpacked状态,以及如何引用结构中的元素。此外,还讲解了枚举类型(Enumerated Type),其在声明固定值变量和提高代码可读性方面的应用。接着,讨论了算术运算符的使用,procedural statements如`inside`、类型转换和循环语句,最后提到了Tasks和Functions的区别及其用法。
摘要由CSDN通过智能技术生成

第七课

Structure

structure是一组变量或者常数的集合,能够更方便地同时访问其中的元素。
语法:

struct{
	int a,b;
	logic[7:0] opcode;
	logic[23:0] address;
	bit error;
} Instruction_Word

最后一行是这个structure的名字,引用变量时的格式为:

Instruction_Word.address = 24'hF0000;
  • Packed structure
    structure默认状态下在内存当中是unpacked状态,可以使用packed关键字使变量存储在连续的空间当中。
    在这里插入图片描述
    可以看到图中valid,tag,data的bit地址是连续的,越先声明的变量bit数越大。
    经过packed以后可以作为一个数组访问或改写其中的元素:
    在这里插入图片描述
    实际操作当中推荐使用data_word.tag这种形式调用,可读性高,不容易出错。
Enumerated Type(枚举)

可以用于声明拥有固定值的变量,如状态机或者计算常量,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值