SystemVerilog学习笔记(6) ------ 结构体(1)
作者:蓝水映像 日期:2009-01-09
SystemVerilog的结构体声名和C中的声名类似, 有匿名结构体和自定义结构体. 和C不同的是, SystemVerilog在声名结构体时, 大括号左边不能像C可以有个标识符.
SystemVerilog代码
- struct [packed[signing]]{ // 匿名结构体
- struct_members
- }struct_variable_name;
- typedef struct [packed[signing]]{ // 自定义类型结构体
- struct_members
- }struct_type;
- struct_type struct_variable_name; // 声名结构体变量
结构体中的成员变量在定义结构体时就可以一并赋上初值, 也可以在声名变量时赋初值.
SystemVerilog代码
- typedef struct{
- int i_a = 0; // 定义结构体时赋初值
- int i_b = 1;
- real r_c;
- }data_t;
- data_t data1 = '{2, 3, 4}; /* 定义变量时赋初值, 值的顺序要得结构体中
- * 定义的顺序一致 */
- data_t data2 = '{i_b:5, i_a:6, r_c:7.0};
- /* 按成员名称来赋值, 用这种方式赋值时,
- * 所有的量都要用成员名来赋值. */
- data_t data3 = '{default:0}; // 所在成员设置成0.
- data_t data4 = '{int:8, real:9.0}; // 按成员类型赋值.
- data_t data5 = '{int:10, default:0, i_b:11};
- /* 混合赋值时, 成员名优先级最高,
- * 数据类型其次, default最低. */
评论: 0 | 引用: 0 | 查看次数: 1328
发表评论
上一篇
下一篇


文章来自:
Tags:
相关日志:






