Data structures 结构中的组

Data structures 结构中的组,data-structures,system-verilog,Data Structures,System Verilog,我可以在结构中有组吗 伪代码: typedef struct { input_group { logic a; } output_group { logic b; } } my_signals_list 简短回答:没有 如果您想让信号像这样分组,为什么不为输入组创建一个struct,为输出组创建一个struct呢 typedef struct { logic a; } input_group_s;

我可以在结构中有组吗

伪代码:

typedef struct {
     input_group {
             logic a;
     }
     output_group {
             logic b;
     }
} my_signals_list
简短回答:没有

如果您想让信号像这样分组,为什么不为输入组创建一个struct,为输出组创建一个struct呢

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;

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

我在考虑AXI规范:信号分组,而不是输入/输出分离逻辑。仅供参考:允许嵌套结构:
typedef struct{struct{logic a;}input\u group;struct{logic b;}输出组;}my_signals_list;
@Greg感谢您的信息,Greg!@user2692669您可以为每个AXI通道设置一个单独的接口,然后将这些接口作为更大的AXI接口的成员/端口。不过,这似乎有点过头了,因为您可能总是要连接完整的接口,而不仅仅是单独的通道。@Tudor您可以更新您的接口吗用格雷格的评论来回答,这样它就被接受了?