Скажем, у меня есть два типа данных перечисления команд
// CMD global macros
`define CMD_1_VAL 32'hFACEFACE
`define CMD_2_VAL 16'hBEEF
`define CMD_3_VAL 20'hF000D
`define CMD_4_VAL 12'hCAB
`define CMD_5_VAL 32'hBA5EC0DE
typedef enum logic[31:0] {
CMD_1 = `CMD_1_VAL,
CMD_2 = `CMD_2_VAL,
CMD_3 = `CMD_3_VAL
} command_set_1;
typedef enum logic[31:0] {
CMD_4 = `CMD_4_VAL,
CMD_5 = `CMD_5_VAL
} command_set_2;
Можно ли создать перечислимый тип данных, который инкапсулирует оба перечисленных типа данных, без необходимости создавать новый перечисляемый тип данныхв котором перечислены команды по отдельности?Примерно так:
Pseudocode of what is desired:
typedef enum logic[31:0] {
// include command_set_1 and command_set_2
} command_set_1_and_2
Причина, по которой я этого хотел, заключалась в том, чтобы можно было добавить больше наборов команд в соответствующие им перечисляемые типы данных для повторного использования и для рандомизации всех определенных команд, перечисленных вих перечисляемые типы данных с использованием функции std :: randomize ().