2014-10-09 39 views
1

我可以在结构内部有组吗?结构内的组

伪代码:

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

回答

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; 

格雷戈在评论中指出的那样,你也可以让嵌套在主结构的内部结构的定义:

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

如果你想在一个不错的封装方式来指定一个模块信号,I虽然会建议使用interface

+0

我在考虑AXI规范:信号被分组而不是输入/输出单独的逻辑。 – user2692669 2014-10-09 11:47:22

+2

供参考:嵌套结构允许:'typedef struct {struct {logic a; } input_group; struct {logic b; } output_group; } my_signals_list;' – Greg 2014-10-09 14:49:53

+0

@Greg感谢您的信息,Greg! – 2014-10-09 15:48:08