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

+2

FYI : 중첩 된 구조체가 허용됩니다. typedef struct {struct {logic a; } input_group; struct {logic b; } output_group; } my_signals_list; ' – Greg

+0

@ 그렉 정보에 감사드립니다, 그렉! –

관련 문제