2014-10-09 68 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