以下是如何定义枚举类型{S0,S1,S2,S3}的2 * N数组的示例:
typedef enum logic [N-1:0][1:0]{S0,S1,S2,S3} state_t; (*)
因此,上述2 * N阵列的每个元素可以是S0或S1或S2或S3。
假设我将{S0,S1,S2,S3}定义为单独的枚举类型:
typedef enum {S0,S1,S2,S3} st_t;
那么现在我怎么能重写声明(*)?
可以重写如下吗?
typedef enum st_t [N-1:0][1:0] state_t; (**)
谢谢!
答案 0 :(得分:0)
正如Serge建议的那样,这可能有用:
typedef enum {S0,S1,S2,S3} st_t;
typedef st_t [N-1:0][1:0] state_t;
除此之外,根据Enumerations types,你也可以这样做:
typedef enum logic [1:0] {S0,S1,S2,S3} st_t_new;
typedef st_t_new [N-1:0] state_t;