结构内部的组

时间:2014-10-09 10:13:39

标签: data-structures system-verilog

我可以在结构中包含组吗?

伪码:

typedef struct {
     input_group {
             logic a;
     }
     output_group {
             logic b;
     }
} my_signals_list

1 个答案:

答案 0 :(得分:3)

简答:不。

如果您希望将信号分组为这样,为什么不为输入组创建结构,为输出组创建结构?

typedef struct {
  logic a;
} input_group_s;

typedef struct {
  logic b;
} output_group_s;

typedef struct {
  input_group_s input_group;
  output_group_s output_group;
} my_signals_list;

正如Greg在评论中指出的那样,你也可以在主结构中包含嵌套的结构定义:

typedef struct {
  struct { logic a; } input_group;
  struct { logic b; } output_group;
} my_signals_list;

如果你想以一种很好的封装方式为模块指定信号,我建议使用interface