SystemVerilog struct and array difference
- Array groups the elements of same data type
- Struct groups the elements of different data type
Array
Collection of variables of same data type.
int addr[10]; //Array of int type bit [31:0] data[63]; //Array of bit type
Struct
Collection of variables of different data types.
typedef enum logic {INVALID_PKT,VALID_PKT} pkt_type; typedef struct packed { byte addr; pkt_type valid; bit [31:0] data; } mem_pkt;
For detailed description refer to,